¿Cómo enumerar las conexiones activas en PostgreSQL?
¿Existe un comando en PostgreSQL para seleccionar conexiones activas a una base de datos determinada?
psql
indica 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)
Oh, acabo de encontrar ese comando en el foro de PostgreSQL:
SELECT * FROM pg_stat_activity;
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.
SELECT * FROM pg_stat_activity WHERE datname = 'dbname' and state = 'active';
Dado que pg_stat_activity
contiene estadísticas de conexión de todas las bases de datos que tienen cualquier estado, ya sea idle
o 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.