您可以使用pg_terminate_backend()来终止连接.您必须是超级用户才能使用此功能.这在所有操作系统上都是一样的.
SELECT
pg_terminate_backend(pid)
FROM
pg_stat_activity
WHERE
-- don't kill my own connection!
pid <> pg_backend_pid()
-- don't kill the connections to other databases
AND datname = 'database_name'
;
在执行此查询之前,您必须拥有REVOKE个连接权限,以避免新的连接:
REVOKE CONNECT ON DATABASE dbname FROM PUBLIC, username;
如果您正在使用Postgres 8.4-9.1,请使用propid而不是PID
SELECT
pg_terminate_backend(procpid)
FROM
pg_stat_activity
WHERE
-- don't kill my own connection!
procpid <> pg_backend_pid()
-- don't kill the connections to other databases
AND datname = 'database_name'
;