Desde dentro de cualquier base de datos del clúster:
Catch 22:primero debe estar conectado a una base de datos. ¿Quizás puedas conectarte como otro usuario? (De forma predeterminada, algunas conexiones están reservadas para superusuarios con superuser_reserved_connections
ajuste.)
Para obtener información detallada de cada conexión de este usuario:
SELECT *
FROM pg_stat_activity
WHERE usename = 'user_name';
Como el mismo usuario o como superusuario puede cancelar todas las (otras) conexiones de un usuario:
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();
Mejor asegúrese de que está bien hacerlo. No desea finalizar consultas importantes (o conexiones) de esa manera.
pg_cancel_backend()
y pg_terminate_backend()
en el manual.
Desde un shell de Linux
¿Empezaste esas otras conexiones tú mismo? ¿Quizás un guión colgante tuyo? Deberías poder matarlos (si estás seguro de que puedes hacerlo).
Puedes investigar con ps
qué procesos pueden tener la culpa:
ps -aux
ps -aux | grep psql
Si identifica un proceso para eliminar (mejor asegúrese de que no quiero matar el servidor):
kill 123457689 # pid of process here.
O con SIGKILL
en lugar de SIGTERM
:
kill -9 123457689