如何杀死我所有的postgresql连接?

我试着耙db:下降,但我得到:

ERROR:  database "database_name" is being accessed by other users
DETAIL:  There are 1 other session(s) using the database.

我尝试过关闭我从ps -ef | grep postgres中看到的进程,但这也不起作用:

kill: kill 2358 failed: operation not permitted

当前回答

MacOS,如果postgresql安装了brew:

brew services restart postgresql

删除postgresql会话/连接

其他回答

也许只是重启postgres => sudo服务postgresql重启

只是想指出,如果一些其他后台进程正在使用数据库,哈里斯的答案可能无法工作,在我的情况下,它是延迟的工作,我做到了:

script/delayed_job stop

只有这样我才能删除/重置数据库。

SELECT 
pg_terminate_backend(pid) 
FROM 
pg_stat_activity 
WHERE
pid <> pg_backend_pid()
-- no need to kill connections to other databases
AND datname = current_database();
-- use current_database by opening right query tool

当然,上面的一个答案给了我在Windows中解决它的想法。

在Windows中打开Services,找到Postgres服务并重新启动它。

我是这样解决的:

在我的Windows8 64位,只是重新启动服务:postgresql-x64-9.5