pgsql 如何删除仍有活动链接的数据库
删除数据库的命令:
drop database if exists testdb;
但是这个命令可能会报错:
类似于:
database "xxx" is being accessed by other users. DETAIL: There is x other session using database.
如:
表示要删除的数据库上还有其他活动链接。
解决方法:
断开该数据库上所有链接。
sql:
select pg_terminate_backend(pid) from pg_stat_activity where datname='{0}';
其中:
pg_terminate_backend
用来终止与数据库的连接的进程id的函数。
pg_stat_activity
是一个系统表,用于存储服务进程的属性和状态。
补充:解决postgresql 数据库因存在连接删除不成功的问题
postgresql 数据库因存在连接删除不成功问题
#psql -d dbname #SELECT * FROM pg_stat_activity;
找到要删除数据库的连接pid
kill -9 pid
重新删除db
以上为个人经验,希望能给大家一个参考,也希望大家多多支持IT技术网。如有错误或未考虑完全的地方,望不吝赐教。
您可能感兴趣的文章:
- pgsql的UUID生成函数实例
- pgsql 如何手动触发归档
- PGSQL实现判断一个空值字段,并将NULL值修改为其它值
- pgsql 实现用户自定义表结构信息获取
- pgsql锁表后kill进程的操作
- PGSQL 实现把字符串转换成double类型(to_number())
- pgsql批量修改sequences的start方式
- pgsql添加自增序列、设置表某个字段自增操作
- pgsql之pg_stat_replication的使用详解