持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第6天
在PostgreSQL中,如果一个库正在被使用,我们是无法直接去删除的,会收到如下报错:
bill@bill=>drop database db03;
ERROR: database "db03" is being accessed by other users
DETAIL: There is 1 other session using the database.
因此,我们需要禁止会话再连接到库中,同时中断掉当前所有连接的会话才可以。
下面是具体的操作方法:
1、设置数据库为禁止连接
UPDATE pg_database
SET datallowconn = 'false'
WHERE datname = 'db_name';
2、中断当前库中所有连接会话
SELECT pg_terminate_backend(pid)
FROM pg_stat_activity
WHERE datname = 'db_name';
3、删除数据库
drop database db_name;