暂无图片
postgresql 可以强制删除数据库吗?
我来答
分享
暂无图片 匿名用户
postgresql 可以强制删除数据库吗?

就算有客户端连接

我来答
添加附件
收藏
分享
问题补充
4条回答
默认
最新
阎书利

13版本开始有的功能

postgres=# create database ll;
CREATE DATABASE
postgres=# select state,count(*) from pg_stat_activity where datname='ll' group by 1;
 state  | count 
--------+-------
 active |     1
 idle   |     2
(2 rows)

postgres=# drop database ll;
ERROR:  database "ll" is being accessed by other users
DETAIL:  There are 3 other sessions using the database.
postgres=# drop database ll WITH ( FORCE );
DROP DATABASE
暂无图片 评论
暂无图片 有用 2
暂无图片
李宏达
2022-10-21
农夫三拳

可以使用以下语句杀掉客户端链接,

SELECT pg_terminate_backend(pg_stat_activity.pid)
FROM pg_stat_activity
WHERE datname='你的数据库的名字' AND pid<>pg_backend_pid();

然后

DROP DATABASE 你的数据库的名字;

暂无图片 评论
暂无图片 有用 1
愤怒的蜗牛
2022-10-21
李宏达

可以先杀会话啊

暂无图片 评论
暂无图片 有用 1
李宏达
答主
2022-10-21
严少安
暂无图片

drop database xxx with force

https://www.enterprisedb.com/postgres-tutorials/postgresql-13-new-feature-drop-database-forcefully

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