728x90
반응형
PostgreSQL가 최초 initdb()를 수행하게 되면 Template0, Template1, Postgres 3개의 데이터베이스가 생성된다.
Template 데이터베이스는 이름에서 나타나듯이 데이터베이스 생성 시 템플릿을 제공하기 위해 만들어진 데이터베이스이다.
사용자가 Template1에 객체를 추가한 후에 새로운 데이터베이스를 생성하여 사용하게 되면 Template1에서 생성한 내용들이 복제된다.
따라서, 추가적인 작업을 하지 않아도 Template1에 적용된 템플릿이나 오브젝트들을 새롭게 생성한 데이터베이스에서 동일하게 사용할 수 있게 된다.
Template0 데이터베이스는 Template1의 초기 상태와 동일하다.
PostgreSQL 에서 제공하는 표준 객체만 포함되어 있으며 수정이나 변경이 불가하다.
Template1에 여러 템플릿을 추가해서 사용하다가 초기 상태로 복원이 필요할 경우 Template0을 복제해서 Template1을 생성하면 된다.
사용자가 Template 옵션 없이 데이터베이스를 생성하게 되면 기본적으로 Template1 데이터베이스를 복제하여 생성된다.
Template0을 복제해서 testdb를 생성하려면 아래와 같은 명령어를 사용할 수 있다.
create database testdb template template0;
반응형
'DB > PostgreSQL' 카테고리의 다른 글
PostgreSQL에서 BloomFilter 사용하기 (0) | 2025.04.22 |
---|---|
PostgreSQL 조인 전략 (0) | 2025.04.17 |
PostgreSQL 디스크 쓰기 지연 관련 설정 (0) | 2025.01.05 |
PostgreSQL Connection이 90분만에 끊어지는 상황 해결하기 (2) | 2024.11.29 |
PostgreSQL Vacuum 관련 쿼리 간단 모음 (2) | 2024.02.07 |