How does one drop a template database from PostgreSQL?

后端 未结 3 402
小鲜肉
小鲜肉 2021-01-30 12:33
postgres=# DROP DATABASE template_postgis;
ERROR:  cannot drop a template database

http://www.postgresql.org/docs/9.1/static/manage-ag-templatedbs.html

相关标签:
3条回答
  • 2021-01-30 13:19

    You can use the alter database command. Much simpler and safer than upsetting metadata.

    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=# 
    

    Documentation

    0 讨论(0)
  • 2021-01-30 13:25
    postgres=# UPDATE pg_database SET datistemplate='false' WHERE datname='template_postgis';
    UPDATE 1
    postgres=# DROP DATABASE template_postgis;
    DROP DATABASE
    postgres=# 
    
    0 讨论(0)
  • 2021-01-30 13:27
    update pg_database set datistemplate=false where datname='template0';
    update pg_database set datistemplate=false where datname='template1';
    
    ....
    
    Creating script to analyze new cluster                      ok
    Creating script to delete old cluster                       ok
    Checking for hash indexes                                   ok
    
    Upgrade Complete
    ----------------
    
    0 讨论(0)
提交回复
热议问题