我是靠谱客的博主 洁净火,最近开发中收集的这篇文章主要介绍PostgreSQL强制删除正在被使用的库,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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

最后

以上就是洁净火为你收集整理的PostgreSQL强制删除正在被使用的库的全部内容,希望文章能够帮你解决PostgreSQL强制删除正在被使用的库所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部