PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Comment utiliser pg_stat_activity ?

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.