1. pgsql drop database: cannot drop a template database
不能删除一个模板数据库。
确认是否模板数据库:
t: 是模板数据库
f:不是
postgres=# select datname, datistemplate from pg_database where datname='***db';
datname | datistemplate
---------+---------------
***db | t
(1 row)
postgres=# update pg_database set datistemplate=false where datname='***db';
UPDATE 1
postgres=#
postgres=# select datname, datistemplate from pg_database where datname='***db';
datname | datistemplate
---------+---------------
***db | f
(1 row)
2. database “***db” is being accessed by other users
postgres=# drop database ***db;
ERROR: database "***db" is being accessed by other users
DETAIL: There is 1 other session using the database.
postgres=# select pg_terminate_backend(pg_stat_activity.pid) from pg_stat_activity where datname='***db' and pid <>pg_backend_pid();
pg_terminate_backend
----------------------
t
(1 row)
postgres=# drop database ***db;
DROP DATABASE
评论区