Consulte esta respuesta estrechamente relacionada para la pregunta "Tiempo de ejecución de consultas de Postgres" .
pg_stat_activity
es una vista en el pg_catalog
esquema.
Puede consultarlo mediante SELECT
saliendo de ella como cualquier otra tabla, p. SELECT * FROM pg_stat_activity
. La página del manual a la que se vinculó explica sus columnas.
A veces querrás unirte a otras mesas como pg_class
(tablas), pg_namespace
(esquemas), etc.
Limitaciones
pg_stat_activity
no exponer información sobre el uso de la memoria back-end. Necesita usar las instalaciones de nivel de sistema operativo para eso. Sin embargo, lo hace decirle el ID del proceso, el usuario activo, la consulta que se está ejecutando actualmente, el estado de la actividad, la hora en que comenzó la última consulta, etc. Es bueno para identificar idle in transaction
de ejecución prolongada sesiones, consultas muy largas, etc.
Francamente, el monitoreo integrado de PostgreSQL es bastante rudimentario. Es una de las áreas en las que no es tan interesante trabajar y los clientes comerciales no suelen estar dispuestos a financiarla. La mayoría de las personas combinan herramientas como check_postgres
con Icinga y Munin, o use Zabbix u otros agentes de monitoreo externos.
En tu caso, parece que realmente quieres pg_stat_statements
y/o PgBadger
análisis de registro con configuraciones de registro adecuadas y posiblemente el auto_explain
módulo.