| PostgreSQL 9.3.25 문서 | ||||
|---|---|---|---|---|
| PostgreSQL : 문서 : 9.3 : 토토 사이트 만들기 | 위로 | 제21장. 관리 데이터베이스 | PostgreSQL : 문서 : 9.3 : 배트맨 토토 구성 | |
데이터베이스 생성실제로 작동하는 방법은 다음과 같습니다. 기존 데이터베이스를 복사합니다. 기본적으로 표준을 복사합니다. 이름이 지정된 시스템 데이터베이스사설 토토1. 따라서 데이터베이스는"사설 토토"어느 곳에서 새로운 데이터베이스가 만들어집니다. 개체를 추가하는 경우사설 토토1, 이 개체는 다음 위치에 복사됩니다. 이후에 사용자 데이터베이스가 생성되었습니다. 이 동작은 다음을 허용합니다. 표준 객체 세트에 대한 사이트 로컬 수정 데이터베이스. 예를 들어 절차적 언어를 설치하는 경우PL/펄에사설 토토1, 다음에서 자동으로 사용할 수 있습니다. 이러한 경우 추가 조치를 취하지 않고 사용자 데이터베이스를 데이터베이스가 생성됩니다.
이름이 두 번째 표준 시스템 데이터베이스입니다.사설 토토0. 이 데이터베이스에는 다음과 동일한 데이터가 포함되어 있습니다. 초기 내용사설 토토1그건 즉, 귀하의 버전에 따라 사전 정의된 표준 객체만 해당됩니다.포스트그레SQL. 사설 토토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로 설정한다고 해서 종료되지는 않습니다.사설 토토0데이터베이스는 일반적으로 표시됩니다.dataallowconn = false그것을 방지하기 위해 수정. 둘 다사설 토토0그리고사설 토토1항상 다음으로 표시되어야 함datistemplate = true.
참고: 사설 토토1그리고사설 토토0이외의 특별한 지위는 없습니다. 사실 이름사설 토토1이것은 의 기본 소스 데이터베이스 이름만들기 데이터베이스. 예를 들어, 드롭할 수 있습니다.사설 토토1그리고 그것을 다시 생성하세요사설 토토0어떤 부작용도 없이. 이 과정은 부주의하게 많은 항목을 추가한 경우 조치를 취하는 것이 좋습니다. 정크 인사설 토토1. (삭제하려면사설 토토1, 반드시 있어야 합니다pg_database.datistemplate = false.)
그포스트그레스데이터베이스도 생성되었습니다 데이터베이스 클러스터가 초기화될 때. 이 데이터베이스는 사용자와 애플리케이션이 연결할 기본 데이터베이스입니다. 그것은 단순히 사본사설 토토1그리고 될 수 있습니다 필요한 경우 삭제하고 다시 생성했습니다.
| 이전 | 배트맨 토토 : 문서 : 9.3 : 배트맨 토토 9.3.25 문서화 | 다음 |
| 데이터베이스 생성 | 위로 | 데이터베이스 구성 |