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