이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다PostgreSQL : 문서 : 17 : 22.3. 템플릿 토토 커뮤니티버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

18.3. 템플릿 데이터베이스

토토 베이 생성실제로 작동합니다 기존 토토 베이 복사. 기본적으로 표준을 복사합니다 시스템 토토 베이 명명template1.따라서 해당 토토 베이는입니다."템플릿"새 토토 베이 만들어졌습니다. 에 객체를 추가하면template1,이 객체가 복사됩니다 이후에 사용자 토토 베이를 작성했습니다. 이 동작은 허용합니다 표준 객체 세트에 대한 사이트-로컬 수정 토토 베이. 예를 들어 절차 언어를 설치하는 경우pl/pgsqlintemplate1는 자동으로 사용할 수 있습니다 추가 작업이없는 사용자 토토 베이는 토토 베이가 만들어졌습니다.

두 번째 표준 시스템 토토 베이가 있습니다Template0.이 토토 베이는의 초기 내용과 동일한 데이터를 포함합니다.template1, 즉 표준 만 귀하의 버전으로 사전 정의 된 개체PostgreSQL. Template0후에는 변경되지 않아야합니다initdb. 지시생성 데이터 베이스복사Template0대신 의template1, 당신은 a를 만들 수 있습니다."Virgin"포함하는 사용자 토토 베이 사이트-로컬 첨가물 중 어느 것도template1. 이것은 특히 편리합니다 a 복원pg_dump덤프 : 덤프 버진 토토 베이에서 스크립트를 복원하여 덤프 된 토토 베이의 올바른 내용을 재현하지 않고 지금 존재할 수있는 추가와의 충돌Template1.

복사하여 토토 베이 생성Template0, 사용

토토 베이 생성dbname템플릿 템플릿 0;

SQL 환경에서 또는

createb -t template0dbname

쉘에서.

추가 템플릿 데이터베이스를 만들 수 있습니다 실제로는 데이터베이스를 클러스터에 복사 할 수 있습니다. 이름으로 템플릿으로생성 데이터 베이스. 그러나 이것을 이해하는 것이 중요합니다 (아직)는 일반적인 목적으로 의도되지 않았습니다"데이터베이스 복사"시설. 특히 소스 데이터베이스가 유휴 상태가되어야합니다. (데이터 조정 트랜잭션이 진행 중) 기간 동안 복사 작업.토토 베이 생성세션 (자체 이외의)이 연결되지 않은지 확인합니다. 작업 시작시 소스 데이터베이스이지만 사본 중에 변경을 수행 할 수 없음을 보장하지 않습니다. 절차로 인해 복사 된 데이터베이스가 일관되지 않습니다. 따라서 템플릿으로 사용되는 데이터베이스를 권장합니다 읽기 전용으로 취급.

두 개의 유용한 플래그가 있습니다pg_database각 토토 베이의 경우 : 열datistemplateandDatallowConn. datistemplatea 토토 베이는 템플릿으로 의도되어 있습니다.생성 데이터 베이스. 이 플래그가 설정되면 토토 베이가 복제 될 수 있습니다. 모든 사용자createb특권; 만약 설정되지 않았으며 슈퍼 사용자와 토토 베이의 소유자 만 복제하십시오. 만약에DatallowConn는 거짓입니다 해당 토토 베이에 대한 새로운 연결은 허용되지 않습니다 (그러나 기존 깃발을 거짓으로 설정하여 세션은 단순히 죽지 않습니다). 그만큼Template0토토 베이는 일반적으로 표시datallowconn = false방지합니다 그것의 수정. 둘 다Template0template1항상 표시되어야합니다datistemplate = true.

템플릿 토토 베이를 준비한 후 하나, 수행하는 것이 좋습니다진공 꼭 매달리게 하다또는진공 Full Freezein 해당 데이터베이스. 다른 개방이 없을 때 이것이 완료되면 동일한 데이터베이스의 트랜잭션은 데이터베이스의 행은입니다."Frozen"및 트랜잭션 ID 랩 어라운드 문제에 적용되지 않습니다. 이것 가질 토토 베이에 특히 중요합니다datallowconn거짓으로 설정되므로 일상적인 유지 보수를 할 수 없습니다진공그러한 토토 베이에서. 보다섹션 21.1.3더 많은 정보.

참고 : Template1andTemplate0특별한 것이 없습니다 이름 이외의 상태Template1는 기본 소스 토토 베이 이름입니다 을 위한토토 베이 생성및 기본값 와 같은 다양한 프로그램의 경우 토토 베이 간 연결createb. 예를 들어, 할 수 있습니다 떨어지다template1에서 재현Template0악영향없이. 이 행동 과정은 부주의하게 많은 쓰레기를 추가했습니다Template1.