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

总结

相关推荐
莫得感情 o1 天前
踩坑 - 压测三轮后 502:一个默认 10 的连接池如何拖垮整个服务
java
爱和冰阔落1 天前
【MySQL 慢查询排查实战】列表接口逐渐变慢时,怎样从请求链路定位原因
android·数据库·mysql
Escalating_xu1 天前
【Linux线程】线程控制全解析:终止、join/detach、cancel、线程栈与 NPTL(下篇)
java·linux·运维
JacksonMx1 天前
企业级 JPA 与数据库架构落地指南
数据库·数据库架构
Dxy12393102161 天前
MySQL有哪些锁?InnoDB锁体系完整梳理博客
数据库·mysql
明月_清风1 天前
vLLM 深度实战:2026 年生产级 LLM 推理引擎完全指南
前端·后端·ai编程
2602_959960921 天前
电商大厂Java面试实录:Spring Boot/JVM/Redis/Kafka/微服务/安全/测试全解析
java·jvm·spring boot·redis·面试题
吃饱了得干活1 天前
限界上下文之后:微服务怎么拆、上下文怎么聊?
java·后端·架构
星火10241 天前
【Groovy翻译-进阶篇】运行时元编程与编译时元编程(上)
后端·groovy
CHHH_HHH1 天前
【Linux系统篇】深入解析Linux文件系统:从磁盘寻址到软硬链接
linux·服务器·开发语言·后端·ubuntu