暂无图片
PostgreSQL数据库删库前是不是需要把所有连接断开才能删除?
我来答
分享
暂无图片 匿名用户
PostgreSQL数据库删库前是不是需要把所有连接断开才能删除?

PostgreSQL数据库删库前是不是需要把所有连接断开才能删除?

我来答
添加附件
收藏
分享
问题补充
3条回答
默认
最新
布衣
暂无图片

在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;

若对答案满意,请点击采纳按钮哦!

暂无图片 评论
暂无图片 有用 0
暂无图片
张sir

说的tdsql?

暂无图片 评论
暂无图片 有用 0
彭冲

pg13新特性drop database使用force选项

postgres=# DROP DATABASE testdb WITH (force); 
DROP DATABASE

https://www.postgresql.org/docs/13/sql-dropdatabase.html

暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏