토토 베이 생성
실제로 기존 토토 베이를 복사하여 작동합니다. 기본적으로 표준 시스템 토토 베이가 이름이를 복사합니다.template1
.따라서 해당 토토 베이는입니다.“템플릿”새 토토 베이가 만들어졌습니다. 에 객체를 추가하면template1
,이 객체는 후속 생성 된 사용자 토토 베이로 복사됩니다. 이 동작을 사용하면 토토 베이의 표준 객체 세트에 대한 사이트-로컬 수정이 가능합니다. 예를 들어 절차 언어를 설치하는 경우pl/perlintemplate1
, 해당 토토 베이를 작성할 때 추가 작업을 수행하지 않고 사용자 토토 베이에서 자동으로 사용할 수 있습니다.
그러나토토 베이 생성
토토 베이 레벨을 복사하지 않습니다grant
소스 토토 베이에 첨부 된 권한. 새 토토 베이에는 기본 토토 베이 레벨 권한이 있습니다.
두 번째 표준 시스템 토토 베이가 있습니다template0
.이 토토 베이는의 초기 내용과 동일한 데이터를 포함합니다.template1
, 즉, 귀하의 버전으로 사전 정의 된 표준 객체 만PostgreSQL. Template0
토토 베이 클러스터가 초기화 된 후에는 변경되지 않아야합니다. 지시토토 베이 생성
복사Template0
대신template1
, 당신은 a를 만들 수 있습니다.“버진”사이트-로컬 추가가 포함되지 않은 사용자 토토 베이template1
. 이것은 a를 복원 할 때 특히 편리합니다.pg_dump
덤프 : 덤프 스크립트는 처벌 토토 베이에서 복원되어 덤프 토토 베이의 올바른 내용을 재현 할 수 있도록template1
나중에.
복사의 또 다른 일반적인 이유Template0
대신Template1
복사 할 때 새 인코딩 및 로케일 설정을 지정할 수 있습니다Template0
,의 사본은template1
동일한 설정을 사용해야합니다. 이건이기 때문입니다.Template1
인코딩 특정 또는 로케일 특정 데이터를 포함 할 수 있습니다.Template0
알려지지 않았습니다.
복사하여 토토 베이 생성Template0
, 사용 :
토토 베이 생성dbname
템플릿 템플릿 0;
SQL 환경에서 또는 :
createb -t template0dbname
쉘에서.
추가 템플릿 데이터베이스를 만들 수 있으며 실제로 이름을 템플릿으로 지정하여 클러스터에 데이터베이스를 복사 할 수 있습니다.토토 베이 생성
. 그러나 이것이 (아직) 일반 목적으로 의도 된 것은 아니라는 것을 이해하는 것이 중요합니다.“데이터베이스 복사
”시설. 주요 제한 사항은 복사하는 동안 다른 세션이 소스 데이터베이스에 연결할 수 없다는 것입니다.토토 베이 생성
시작시 다른 연결이 존재하면 실패합니다. 사본 작동 중에 소스 토토 베이에 대한 새로운 연결이 방지됩니다.
두 개의 유용한 플래그가 있습니다pg_database
각 토토 베이의 경우 : 열datistemplate
andDatallowConn
. datistemplate
데이터베이스가 템플릿으로 의도되어 있음을 나타내도록 설정할 수 있습니다토토 베이 생성
. 이 플래그가 설정되면 토토 베이는를 사용하여 모든 사용자가 복제 할 수 있습니다.createb
특권; 설정되지 않은 경우 슈퍼 사용자와 토토 베이의 소유자 만 복제 할 수 있습니다. 만약에datallowconn
거짓이면 해당 데이터베이스에 대한 새로운 연결이 허용되지 않습니다 (그러나 기존 세션은 단순히 플래그를 False를 설정하여 종료하지 않습니다). 그만큼Template0
토토 베이는 일반적으로 표시되어 있습니다datallowconn = false
수정을 방지합니다. 둘 다Template0
andTemplate1
항상 표시되어야합니다datistemplate = true
.
Template1
andTemplate0
이름이라는 사실을 넘어서 특별한 상태가 없습니다template1
기본 소스 토토 베이 이름입니다.토토 베이 생성
. 예를 들어, 떨어질 수 있습니다template1
에서 재현Template0
악영향없이. 이 행동 과정은 부주의하게 쓰레기를 부주의하게 추가 한 경우template1
. (삭제하려면Template1
pg_database.datistemplate = false
.)
thePostgres
토토 베이 클러스터가 초기화 될 때도 토토 베이가 생성됩니다. 이 토토 베이는 사용자 및 응용 프로그램에 연결할 기본 토토 베이입니다. 단순히 사본입니다.template1
필요한 경우 떨어 뜨리고 재현 할 수 있습니다.