PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como usar pg_stat_activity?


Veja esta resposta intimamente relacionada para a pergunta "Tempo de execução da consulta Postgres" .

pg_stat_activity é uma visualização no pg_catalog esquema.

Você pode consultá-lo SELECT ing a partir dele como qualquer outra mesa, por exemplo SELECT * FROM pg_stat_activity . A página de manual à qual você vinculou explica suas colunas.

Às vezes você vai querer juntar-se a outras tabelas como pg_class (tabelas), pg_namespace (esquemas), etc.

Limitações


pg_stat_activity não expor informações sobre o uso da memória de back-end. Você precisa usar recursos de nível de sistema operacional para isso. No entanto, faz informa o ID do processo, usuário ativo, consulta em execução no momento, status da atividade, hora em que a última consulta foi iniciada etc. É bom para identificar idle in transaction de longa duração sessões, consultas muito longas, etc.

Francamente, o monitoramento interno do PostgreSQL é bastante rudimentar. É uma das áreas em que não é tão empolgante trabalhar, e os clientes comerciais geralmente não estão dispostos a financiá-la. A maioria das pessoas combina ferramentas como check_postgres com Icinga e Munin, ou use o Zabbix ou outros agentes externos de monitoramento.

No seu caso, parece que você realmente quer pg_stat_statements , e/ou PgBadger análise de log com configurações de log adequadas e possivelmente o auto_explain módulo.