database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Q&A 9939 게시물 읽기
No. 9939
template0 vacuum
작성자
왕왕왕초보
작성일
2018-02-08 10:50
조회수
5,752

우선 제 환경은 Windows 입니다.

 vacuumdb -a 명령어 수행 시 template0 을 제외한 모든 DB에 대해 VACUUM이 수행되서

확인해보니 template0은 datallowconn='f' 이기때문에 접속권한이 없어 수행이 안되는거더라구요.

그럼, template0 만 계속 age가 증가할텐데....

그래서 궁금한점 몇가지가 있어요.

1. template0 의 vacuum 수행 필요성이 있나요?

2. template0 은 변경이 없는 DB인지?

3. template0 의 age가 점차 증가하여 20억에 도달했을 경우, 일어날 수 있는 문제에는 어떤 것들이 있는지?

ex) postgresql 서비스가 죽는다.

이 글에 대한 댓글이 총 4건 있습니다.

template0은 데이터베이스 생성할 때 지정하는 기본 template이고요

 

1. 파라미터로 인해 autovacuum을 수행되기 때문에 문제안됩니다.

2. 없습니다.

3. template0이 autovacuum을 끄지 않은한 도달하진 않겠지만

다른 Database가 20억에 도달하면 wraparound 에러로 장애가 납니다~

김주왕(kimjuking)님이 2018-02-08 16:00에 작성한 댓글입니다.

아, autovacuum에 의해 vacuum 동작 제어를 하고싶지않고, 사용자가 vacuum 수행하기 원하는 시점에

bat 파일을 이용해서 돌리려고 하는거거든여 그래서 autovacuum_freeze_max_age=20억 설정했고

(웬만하면 autovacuum 수행되지 않도록 하기위해)

 그럼 결론적으로 template0 도 20억에 도달하게되면 문제가 된다는 말씀이시죠?

답변 감사합니다.

왕왕왕초보님이 2018-02-08 16:20에 작성한 댓글입니다. Edit

 주왕님이 오해를 한 것 같네요. 

template0 데이터베이스는 데이터베이스가 설치되면 가장 바탕이 되는 깡통 데이터베이스입니다. 이 데이터베이스는 일반적인 환경에서는 전혀 사용하지 않는 데이터베이스입니다. 단지, 데이터베이스 charset, lc_type, lc_collate 값을 template1 데이터베이스와 다르게 만들고자 할 때 참조만 하는 템플릿입니다. template0 데이터베이스에서는 DML 작업이 일어나지 않기 때문에, 그냥 내버려두면 됩니다.

그 보다, 

 autovacuum_freeze_max_age=20억 이게 더 문제네요. 

이 값은 autovacuum 기능을 꺼 두었다 하더라도, 데이터베이스가 값 만큼 늙었다면, 무조건 vacuum freeze 작업을 하는 값입니다. 그렇기 때문에, 어느 정도의 여유분은 있어야합니다. 아주 비번한 DML 트랜잭션이 일어나는 상황이여서 freeze 작업을 조금 지연하고싶어 이 값을 키웠다면, autovacuum 이 무조건 진행하는 vacuum freeze 작업이 끝날 때까지 20억에 도달되지 않게 해야합니다. 

보통 15억 이상은 권장하지 않아요. 개인적으로는 15억도 위험해 보여요. 

 

김상기(ioseph)님이 2018-02-09 18:09에 작성한 댓글입니다.
이 댓글은 2018-02-09 18:09에 마지막으로 수정되었습니다.

해깔려서 확인 제대로 안하고 썻네요

좋은 답변 감사합니다.

김주왕(kimjuking)님이 2018-02-12 12:14에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
9943data 폴더만있는데, 살릴수있는가요? [1]
이기자
2018-02-14
5718
9942랜섬웨어가 걸렸네요. T.T [3]
이기자
2018-02-11
5710
9940형변환 오류 질문있습니다. [1]
오정현
2018-02-09
6125
9939template0 vacuum [4]
왕왕왕초보
2018-02-08
5752
9938libpq? libpq-fe? [1]
libpq
2018-02-08
5530
9937pgAdmin4 에서 에러메세지가 제대로 안뜨네요.. [6]
pgadminwhat
2018-02-05
7249
9936Insert가 PK로 인해 실패시 작업 질문입니다. [1]
ttttttt
2018-02-02
5641
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.052초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다