Você pode usar pg_terminate_backend() para matar uma conexão. Você precisa ser superusuário para usar esta função. Isso funciona em todos os sistemas operacionais da mesma forma.
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'
;
Antes de executar esta consulta, você deve REVOGAR os privilégios CONNECT para evitar novas conexões:
REVOKE CONNECT ON DATABASE dbname FROM PUBLIC, username;
Se você estiver usando o Postgres 8.4-9.1, use procpid em vez de 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'
;