postgresql – 如何在不停止服务器的情况下删除与特定数据库的所有连接?

前端之家收集整理的这篇文章主要介绍了postgresql – 如何在不停止服务器的情况下删除与特定数据库的所有连接?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想删除当前打开到特定Postgresql数据库但没有重新启动服务器或断开与其他数据库的连接的所有连接(会话).

我怎样才能做到这一点?

这是我在StackOverflow上对 very similar question的回答.

根据您的postgresql版本,您可能会遇到错误,这会使pg_stat_activity省略被删除用户的活动连接.这些连接也未在pgAdminIII中显示.

如果您正在进行自动测试(您也在其中创建用户),这可能是一种可能的情况.

在这种情况下,您需要恢复以下查询

SELECT pg_terminate_backend(pg_stat_activity.procpid) 
 FROM pg_stat_get_activity(NULL::integer) 
 WHERE datid=(SELECT oid from pg_database where datname = 'your_database');

猜你在找的Postgre SQL相关文章