Du kan använda pg_terminate_backend() för att avbryta en anslutning. Du måste vara superanvändare för att använda den här funktionen. Detta fungerar likadant på alla operativsystem.
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'
;
Innan du kör den här frågan måste du ÅTERVÄNDA CONNECT-behörigheterna för att undvika nya anslutningar:
REVOKE CONNECT ON DATABASE dbname FROM PUBLIC, username;
Om du använder Postgres 8.4-9.1 använd procpid istället för 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'
;