Cómo seleccionar una lista de conexiones activas a una base de datos PostgreSQL


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

psql indica que no puedo soltar 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 de qué máquinas)

Author: Tregoreg, 2014-12-12

2 answers

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

SELECT * FROM pg_stat_activity;
 108
Author: Tregoreg,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-12-12 02:23:14

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 'idle' en lugar de active para obtener conexiones/consultas ya ejecutadas.

 5
Author: Neeraj Bansal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-02-02 05:38:20