【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 数据库;

总结

相关推荐
她说彩礼65万1 小时前
C# AutoResetEvent和ManualResetEvent
java·jvm·c#
roman_日积跬步-终至千里1 小时前
【Docker多节点部署】基于“配置即身份“理念的 Docker 多节点 StarRocks 高可用集群自动化部署方案
java·docker·微服务
先知后行。2 小时前
C/C++八股文
java·开发语言
Boilermaker19922 小时前
【MySQL 进阶】高性能优化
数据库·sql·mysql
Yeats_Liao2 小时前
时序数据库系列(五):InfluxDB聚合函数与数据分析
java·后端·数据分析·时序数据库
CoderOnly2 小时前
SQL,CROSS JOIN速度优化
数据库·sql·mysql
Highcharts.js3 小时前
入门指南|从文件到图表:Highcharts对接数据库(CSV、Excel)实现数据同步绘制图表
数据库·excel·数据同步·highcharts·数据对接·文件导入
又是忙碌的一天3 小时前
Java IO流
java·开发语言
程序员buddha3 小时前
springboot-mvc项目示例代码
java·spring boot·mvc
不懂英语的程序猿3 小时前
【Java 工具类】Java通过 TCP/IP 调用斑马打印机(完整实现)
java