Puede usar pg_terminate_backend() para eliminar una conexión. Tienes que ser superusuario para usar esta función. Esto funciona en todos los sistemas operativos de la misma.
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 ejecutar esta consulta, debe REVOCAR los privilegios de CONECTAR para evitar nuevas conexiones:
REVOKE CONNECT ON DATABASE dbname FROM PUBLIC, username;
Si usa Postgres 8.4-9.1, use procpid en lugar 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'
;