sql >> Base de Datos >  >> RDS >> PostgreSQL

¿Cómo usar pg_stat_actividad?

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.