如何从PostgreSQL中删除模板数据库?

postgres=# DROP DATABASE template_postgis; ERROR: cannot drop a template database 

http://www.postgresql.org/docs/9.1/static/manage-ag-templatedbs.html使它看起来像是如果我设置template_postgis.datistemplate = false ,我将能够放弃它,但我不知道如何设置。

 postgres=# UPDATE pg_database SET datistemplate='false' WHERE datname='template_postgis'; UPDATE 1 postgres=# DROP DATABASE template_postgis; DROP DATABASE postgres=# 

您可以使用alter database命令。 比镦乱元数据更简单,更安全。

 postgres=# create database tempDB is_template true; CREATE DATABASE postgres=# drop database tempDB; ERROR: cannot drop a template database postgres=# alter database tempDB is_template false; ALTER DATABASE postgres=# drop database tempDB; DROP DATABASE postgres=# 

文档

Interesting Posts