22.3. 템플릿 롤 토토#

롤 토토 생성실제로는 기존 롤 토토를 복사하여 작동합니다. 기본적으로 이름이 지정된 표준 시스템 롤 토토를 복사합니다.템플릿1.그러므로 해당 롤 토토는템플릿새 롤 토토가 만들어집니다. 개체를 추가하는 경우템플릿1, 이러한 개체는 이후에 생성되는 사용자 롤 토토에 복사됩니다. 이 동작을 통해 롤 토토의 표준 개체 집합에 대한 사이트 로컬 수정이 가능합니다. 예를 들어 절차적 언어를 설치하는 경우PL/펄템플릿1, 롤 토토가 생성될 때 추가 조치를 취하지 않고도 사용자 롤 토토에서 자동으로 사용할 수 있습니다.

그러나,롤 토토 생성롤 토토 수준을 복사하지 않음부여소스 롤 토토에 연결된 권한. 새 롤 토토에는 기본 롤 토토 수준 권한이 있습니다.

이름이 두 번째 표준 시스템 롤 토토입니다.템플릿0.이 롤 토토에는 초기 내용과 동일한 데이터가 포함되어 있습니다.템플릿1, 즉, 귀하의 버전에 의해 사전 정의된 표준 객체만PostgreSQL. 템플릿0롤 토토 클러스터가 초기화된 후에는 변경하면 안 됩니다. 지시함으로써롤 토토 생성복사하다템플릿0대신템플릿1, 다음을 생성할 수 있습니다.깨끗한사용자 롤 토토(사용자 정의 개체가 존재하지 않고 시스템 개체가 변경되지 않은 롤 토토)에는 사이트 로컬 추가 항목이 전혀 포함되어 있지 않습니다.템플릿1. 이는 복원할 때 특히 유용합니다.pg_dumpdump: 추가되었을 수 있는 개체와 충돌하지 않고 덤프된 롤 토토의 올바른 콘텐츠를 다시 생성할 수 있도록 덤프 스크립트를 원래 롤 토토에 복원해야 합니다.템플릿1나중에.

복사하는 또 다른 일반적인 이유템플릿0대신에템플릿1복사할 때 새로운 인코딩 및 로케일 설정을 지정할 수 있다는 것입니다.템플릿0, 반면에의 사본템플릿1동일한 설정을 사용해야 합니다. 그 이유는템플릿1인코딩 특정 또는 로케일 특정 데이터를 포함할 수 있지만템플릿0그렇지 않은 것으로 알려져 있습니다.

복사하여 롤 토토를 생성하려면템플릿0, 사용:

롤 토토 생성db이름템플릿 템플릿0;

SQL 환경에서 또는:

createdb -T template0db이름

셸에서.

추가 템플릿 데이터베이스를 생성하는 것이 가능하며 실제로 이름을 템플릿으로 지정하여 클러스터의 모든 데이터베이스를 복사할 수 있습니다.롤 토토 생성. 그러나 이것이 (아직) 범용 목적으로 의도된 것은 아니라는 점을 이해하는 것이 중요합니다.롤 토토 복사시설. 주요 제한 사항은 복사되는 동안 소스 롤 토토에 다른 세션을 연결할 수 없다는 것입니다.롤 토토 생성시작 시 다른 연결이 존재하면 실패합니다. 복사 작업 중에는 소스 롤 토토에 대한 새로운 연결이 차단됩니다.

두 가지 유용한 플래그가 있습니다.pg_database각 롤 토토에 대해: 열datistemplate그리고dataallowconn. datistemplate데이터베이스가 다음에 대한 템플릿으로 의도되었음을 나타내도록 설정할 수 있습니다.롤 토토 생성. 이 플래그가 설정되면 다음을 사용하는 모든 사용자가 데이터베이스를 복제할 수 있습니다.CREATEDB특권; 설정되지 않은 경우 슈퍼유저와 롤 토토 소유자만 복제할 수 있습니다. 만일dataallowconn가 false이면 해당 롤 토토에 대한 새로운 연결이 허용되지 않습니다(단, 플래그를 false로 설정한다고 해서 기존 세션이 종료되지는 않습니다).템플릿0롤 토토는 일반적으로 표시됩니다.dataallowconn = false수정을 방지합니다. 둘 다템플릿0그리고템플릿1항상 다음으로 표시되어야 함datistemplate = true.

참고

템플릿1그리고템플릿0이름이라는 사실 외에는 특별한 지위가 없습니다템플릿1은의 기본 소스 롤 토토 이름입니다.롤 토토 생성. 예를 들어, 드롭할 수 있습니다.템플릿1다음에서 다시 생성템플릿0악영향 없이. 부주의하게 많은 정크 파일을 추가한 경우 이 조치를 취하는 것이 좋습니다.템플릿1. (삭제하려면템플릿1, 반드시 있어야 합니다pg_database.datistemplate = false.)

포스트그레스데이터베이스는 데이터베이스 클러스터가 초기화될 때도 생성됩니다. 이 데이터베이스는 사용자와 애플리케이션이 연결할 기본 데이터베이스로 사용됩니다. 이는 단순히 다음의 사본입니다.템플릿1필요한 경우 삭제하고 다시 만들 수 있습니다.

수정사항 제출

문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.