【Pg数据库】删除数据库失败,提示有session正在连接

目录

问题现象

Navicat 删除 PostgreSQL 数据库时失败,提示:正在被其他用户访问(有session正在连接)如何处理?
如下所示:

bash 复制代码
ERROR: database 'xXx' is being accessed by other users
DETAIL: There are 5 other sessions using the database.

原因分析

  • 可能当前仍有session正在连接数据库,或者有session在不停地连接该数据库,故删除数据库失败。
  • 需要查看数据库中的session,检查是否仍有session在连接,如果有,排查连接数据库的机器,停止连接后再删除数据库。

处理方法

1.断开所有连接

sql 复制代码
SELECT 
	pg_terminate_backend(pg_stat_activity.pid)
FROM 
	pg_stat_activity
WHERE 
	datname='数据库' 
AND 
	pid<>pg_backend_pid();

2. 查找相关连接数据库的主机信息

(如果有程序会不停的连的话只能把连的程序停了才能删除)

sql 复制代码
SELECT 
	*
FROM 
	pg_stat_activity
WHERE 
	datname='数据库' 

3. 再次删除

sql 复制代码
drop database 数据库;

总结

相关推荐
写代码写到手抽筋7 小时前
5G上行DCI字段判定:端口 流数 PMI选择详解
java·算法·5g
xieliyu.8 小时前
Java算法精讲:双指针(二)
java·开发语言·算法
素材积累8 小时前
博士后出站来深可申请的项目补贴等
数据库
jeffer_liu8 小时前
Spring AI 生产级实战:裁判员
java·人工智能·后端·spring·大模型
金銀銅鐵8 小时前
用 Tkinter 实现简单的猜数字游戏
后端·python
copyer_xyf9 小时前
Python 模块与包的导入导出
前端·后端·python
小bo波9 小时前
枚举实战
java·设计模式·枚举·后端开发·代码重构
_1_79 小时前
SQL Server 磁盘满了 收缩日志
数据库·sqlserver
夜微凉49 小时前
三、Spring
java·后端·spring