缘起
工作中我们经常遇到要删库的操作,这个时候在navicat执行删除数据库时候会提示你**,对不起数据库有人连接不能执行删库操作**。这个时候就很蛋疼了
思路
身为程序员的我们,要有探索精神,这个时候你可以点开其他数据库
然后 执行这个操作
SELECT
pg_terminate_backend(pg_stat_activity.pid)
FROM pg_stat_activity
WHERE datname='你的数据库操作' AND pid<>pg_backend_pid();
上面语句说明:
pg_terminate_backend:用来终止与数据库的连接的进程id的函数。
pg_stat_activity:是一个系统表,用于存储服务进程的属性和状态。
pg_backend_pid():是一个系统函数,获取附加到当前会话的服务器进程的ID。
结果
执行查询完成,现在再去删除你要删除的数据库。这个时候 是不是又奇迹发生呢?
记得,点赞笔芯.