Voir cette réponse étroitement liée à la question "Temps d'exécution de la requête Postgres" .
pg_stat_activity
est une vue dans le pg_catalog
schéma.
Vous pouvez l'interroger par SELECT
en partant comme n'importe quelle autre table, par ex. SELECT * FROM pg_stat_activity
. La page de manuel à laquelle vous avez lié explique ses colonnes.
Vous aurez parfois envie de rejoindre d'autres tables comme pg_class
(tables), pg_namespace
(schémas), etc.
Limites
pg_stat_activity
n'est pas exposer des informations sur l'utilisation de la mémoire principale. Pour cela, vous devez utiliser des fonctionnalités au niveau du système d'exploitation. Cependant, il fait vous indique l'ID de processus, l'utilisateur actif, la requête en cours d'exécution, l'état de l'activité, l'heure à laquelle la dernière requête a commencé, etc. sessions, requêtes très longues, etc.
Franchement, la surveillance intégrée de PostgreSQL est plutôt rudimentaire. C'est l'un des domaines sur lesquels il n'est pas si excitant de travailler, et les clients commerciaux ne sont souvent pas disposés à le financer. La plupart des gens couplent des outils comme check_postgres
avec Icinga et Munin, ou utilisez Zabbix ou d'autres agents de surveillance externes.
Dans votre cas, il semble que vous vouliez vraiment pg_stat_statements
, et/ou PgBadger
analyse des journaux avec les paramètres de journalisation appropriés et éventuellement le auto_explain
module.