#쉘에서 관리자 권한으로 template1 DB에 접속합니다.
shell$ psql -U postgres template1
-- template0 DB의 접속을 허용하도록 바꿉니다
template1=# update pg_database set datallowconn = true where datname = 'template0';
UPDATE 1
-- template1 DB를 drop 할 수 있도록 template DB가 아니라고 설정합니다.
template1=# update pg_database set datistemplate = false where datname = 'template1';
UPDATE 1
template1=# \q
#psql 종료하고, 이번에는 template0 DB로 접속합니다.
shell$ psql -U postgres template0
-- template1 DB를 drop 합니다.
template0=# drop database template1;
DROP DATABASE
-- template0 DB로 template1 DB를 만듭니다.
template0=# create database template1 template template0;
CREATE DATABASE
-- 다시 원래대로, template0 접속을 막고
template0=# update pg_database set datallowconn = false where datname = 'template0';
UPDATE 1
-- template1 DB는 템플릿 DB임을 설정합니다.
template0=# update pg_database set datistemplate = true where datname = 'template1';
UPDATE 1
이 기능을 쓸 일이 있어 구현하고, 필요한 분이 있을 것 같아, 메모
남겨둡니다.
|