¿Cómo enumerar las conexiones activas en PostgreSQL?

Resuelto Tregoreg asked hace 10 años • 5 respuestas

¿Existe un comando en PostgreSQL para seleccionar conexiones activas a una base de datos determinada?

psqlindica que no puedo eliminar 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)

Tregoreg avatar Dec 12 '14 09:12 Tregoreg
Aceptado

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

SELECT * FROM pg_stat_activity;
Tregoreg avatar Dec 12 '2014 02:12 Tregoreg

A continuación le brindará 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 utilizar 'inactivo' en lugar de activo para obtener conexiones/consultas ya ejecutadas.

Neeraj Bansal avatar Feb 02 '2018 05:02 Neeraj Bansal
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, ya sea idleo active, el nombre de la base de datos y el estado de la conexión deben incluirse en la consulta para obtener el resultado deseado.

Abdollah avatar Feb 25 '2020 13:02 Abdollah