배트맨 토토 생성실제로 작동합니다 기존 배트맨 토토 복사. 기본적으로 표준을 복사합니다 시스템 배트맨 토토 명명template1.따라서 배트맨 토토는입니다."템플릿"새 배트맨 토토 만들어졌습니다. 에 객체를 추가하면template1,이 객체가 복사됩니다 이후에 사용자 배트맨 토토를 작성했습니다. 이 동작은 허용합니다 표준 객체 세트에 대한 사이트-로컬 수정 배트맨 토토. 예를 들어 절차 언어를 설치하는 경우pl/pgsqlintemplate1는 자동으로 사용할 수 있습니다 추가 작업이없는 사용자 배트맨 토토는 배트맨 토토가 만들어졌습니다.
두 번째 표준 시스템 배트맨 토토가 있습니다Template0.이 배트맨 토토는의 초기 내용과 동일한 데이터를 포함합니다.template1, 즉 표준 만 귀하의 버전으로 사전 정의 된 개체PostgreSQL. template0후에는 변경되지 않아야합니다initdb. 지시생성 데이터 베이스복사Template0대신 의Template1, 당신은 a를 만들 수 있습니다."Virgin"사용하는 사용자 배트맨 토토 사이트-로컬 첨가물 중 어느 것도Template1. 이것은 특히 편리합니다 a 복원pg_dump덤프 : 덤프 버진 배트맨 토토에서 스크립트를 복원하여 덤프 된 배트맨 토토의 올바른 내용을 재현하지 않고 이제 참석할 수있는 추가와의 충돌Template1.
복사하여 배트맨 토토 생성Template0, 사용 :
배트맨 토토 생성dbnameTemplate Template0;
SQL 환경에서 또는 :
createb -t template0dbname
쉘에서.
추가 템플릿 데이터베이스를 만들 수 있습니다 실제로는 데이터베이스를 클러스터에 복사 할 수 있습니다. 이름으로 템플릿으로생성 데이터 베이스. 그러나 이것을 이해하는 것이 중요합니다 (아직)는 일반적인 목적으로 의도되지 않았습니다"복사 데이터베이스"시설. 주요 제한은 다른 세션이 없을 수 있다는 것입니다. 복사하는 동안 소스 데이터베이스에 연결됩니다.배트맨 토토 생성다른 경우 실패합니다 연결이 시작될 때 연결됩니다. 그렇지 않으면 새로운 연결 소스 배트맨 토토는까지 잠겨 있습니다배트맨 토토 생성완료.
두 개의 유용한 플래그가 있습니다pg_database각 배트맨 토토의 경우 : 열datistemplateandDatallowConn. datistemplatea 배트맨 토토는 템플릿으로 의도되어 있습니다.생성 데이터 베이스. 이 플래그가 설정되면 배트맨 토토를 복제 할 수 있습니다. 모든 사용자createb특권; 만약 설정되지 않으며 슈퍼 사용자와 배트맨 토토 소유자 만 복제하십시오. 만약에DatallowConn는 거짓입니다 해당 배트맨 토토에 대한 새로운 연결은 허용되지 않습니다 (그러나 기존 깃발을 거짓으로 설정하여 세션은 단순히 죽지 않습니다). 그만큼Template0배트맨 토토는 일반적으로 표시되어 있습니다datallowconn = false방지합니다 그것의 수정. 둘 다Template0andtemplate1항상 표시되어야합니다datistemplate = true.
참고 : Template1andTemplate0특별한 것이 없습니다 이름 이외의 상태Template1는 기본 소스 배트맨 토토 이름입니다 을 위한배트맨 토토 생성. 예를 들어, 하나는 떨어질 수 있습니다template1및 에서 재현template0악영향. 이 행동 과정은 다음과 같이 권장 될 수 있습니다 하나는 부주의하게 많은 쓰레기를 추가했습니다template1. (삭제하려면template1pg_database.datistemplate = false.)
thePostgres배트맨 토토도 있습니다 배트맨 토토 클러스터가 초기화 될 때 생성됩니다. 이 배트맨 토토 사용자 및 응용 프로그램을위한 기본 배트맨 토토입니다. 연결하십시오. 단순히 사본입니다.template1그리고 IF를 떨어 뜨리고 재현 할 수 있습니다 필수의.