如何从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=#
文档