¿Cómo enumerar las conexiones activas en PostgreSQL?


150

¿Hay un comando en PostgreSQL para seleccionar conexiones activas a una base de datos dada?

psqlestablece que no puedo descartar una de mis bases de datos porque hay conexiones activas a ella , por lo que me gustaría ver cuáles son las conexiones (y desde qué máquinas)



¡Excelente! Busco (mal) y no encuentro nada. ¿Puedo hacer algo para cerrar la conexión inactiva de otros?
Orador

Respuestas:


262

Oh, acabo de encontrar ese comando en el foro de PostgreSQL:

SELECT * FROM pg_stat_activity;

14
Si desea limitarlo a una sola base de datos, puede usar SELECT * FROM pg_stat_activity WHERE datname = 'dbname';
user2182349

1
¿Cómo puedo obtener la conexión de base de datos activa del servicio específico respaldado?
GunasekaranR

¿Y qué tal después de ejecutar pg_terminate_backendy mi aplicación aún puede ejecutar la consulta en la base de datos, pero no pude ver las nuevas conexiones en pg_Stat_activity?
takacsot

37

Lo siguiente le dará conexiones / consultas activas en postgres DB-

SELECT 
    pid
    ,datname
    ,usename
    ,application_name
    ,client_hostname
    ,client_port
    ,backend_start
    ,query_start
    ,query
    ,state
FROM pg_stat_activity
WHERE state = 'active';

Puede usar 'inactivo' en lugar de activo para obtener conexiones / consultas ya ejecutadas.


1
¿Inactivo significa que la conexión está activa? Si estoy liberando la conexión, ¿seguirá apareciendo como inactivo?
Shivam Kubde

1
Sí @ShivamKubde, pero como 'inactivo', y la consulta anterior solo muestra conexiones 'activas', así que elimine la WHERE ...cláusula y para poder ver qué conexiones están activas o inactivas agregue la columna statea la SELECTcláusula
Mariano Ruiz

6
SELECT * FROM pg_stat_activity WHERE datname = 'dbname' and state = 'active';

Dado que pg_stat_activitycontiene estadísticas de conexión de todas las bases de datos que tienen cualquier estado, idleo bien active, el nombre de la base de datos y el estado de conexión deben incluirse en la consulta para obtener el resultado deseado.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.