De dentro de qualquer banco de dados do cluster:
Captura 22:você precisa estar conectado a um banco de dados primeiro. Talvez você possa se conectar como outro usuário? (Por padrão, algumas conexões são reservadas para superusuários com o
superuser_reserved_connections
contexto.) Para obter informações detalhadas para cada conexão deste usuário:
SELECT *
FROM pg_stat_activity
WHERE usename = 'user_name';
Como o mesmo usuário ou como superusuário você pode cancelar todas as (outras) conexões de um usuário:
SELECT pg_cancel_backend(pid) -- (SIGINT)
-- pg_terminate_backend(pid) -- the less patient alternative (SIGTERM)
FROM pg_stat_activity
WHERE usename = 'user_name'
AND pid <> pg_backend_pid();
Melhor ter certeza de que está tudo bem fazer isso. Você não deseja encerrar consultas (ou conexões) importantes dessa maneira.
pg_cancel_backend()
e pg_terminate_backend()
no manual.
De um shell do Linux
Você mesmo iniciou essas outras conexões? Talvez um roteiro suspenso seu? Você deve ser capaz de matá-los (se tiver certeza de que não há problema em fazê-lo).
Você pode investigar com
ps
quais processos podem estar com defeito:ps -aux
ps -aux | grep psql
Se você identificar um processo para matar (melhor ter certeza, você não quer matar o servidor):
kill 123457689 # pid of process here.
Ou com
SIGKILL
em vez de SIGTERM
:kill -9 123457689