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

总结

相关推荐
努力也学不会java几秒前
【设计模式】抽象工厂模式
java·设计模式·oracle·抽象工厂模式
-Xie-10 分钟前
Mysql杂志(十六)——缓存池
数据库·mysql·缓存
用户60830892904711 分钟前
集合处理利器,Java中的Stream流API
java·后端
Doris_202311 分钟前
Python条件判断语句 if、elif 、else
前端·后端·python
玉衡子12 分钟前
八、MySQL全局优化总结&MySQL8新特性
java·mysql
七夜zippoe14 分钟前
缓存与数据库一致性实战手册:从故障修复到架构演进
数据库·缓存·架构
9号达人14 分钟前
Java 14 新特性详解与实践
java·后端·面试
Doris_202316 分钟前
Python 模式匹配match case
前端·后端·python
ytadpole17 分钟前
揭秘XXL-JOB:Bean、GLUE 与脚本模式的底层奥秘
java·后端
计算机毕业设计木哥32 分钟前
计算机毕设选题推荐:基于Java+SpringBoot物品租赁管理系统【源码+文档+调试】
java·vue.js·spring boot·mysql·spark·毕业设计·课程设计