Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Monitorando sessões usando o pg_stat_activity no PostgreSQL

O ‘pg_stat_activity’ é uma das views do PostgreSQL a ser usada quando se trata de monitoramento e diagnóstico.  Fornece Ela fornece informações das atividades correntes no banco de dados. Ela mostra , mostrando uma linha por sessão ou conexão com detalhes como o estado da consulta, o tempo de início , e a consulta atual.


Informações
titleLinks de referência

PostgreSQL: MonitoramentoPostgreSQL: pg_stat_activity view 

Como utilizar a query pg_stat_activity ?

...

Filtros que pode utilizar para ordenar os resultados para facilitar a análise.

Campos úteis e suas descrições

datid e datname

...

ID e nome do banco de dados ao qual a sessão está conectada, respectivamente.
pid

...

ID do processo do sistema operacional associado à sessão.

usesysid e usename

...

ID e nome do usuário do banco de dados.
application_name

...

Nome da aplicação que iniciou a sessão.
client_addr

...

Endereço IP do cliente.
state

...

Estado atual da sessão, como 'active', 'idle', 'idle in transaction' etc.
query_start

...

Timestamp de quando a consulta atual foi iniciada.
query

...

Texto da última consulta executada ou atualmente em execução pela sessão.

Identificando sessões inativas

Conexões "idle in transaction" podem ser problemáticas, pois indicam transações que foram iniciadas, mas ainda não foram confirmadas nem revertidas:

Bloco de código
languagesql
SELECT * FROM pg_stat_activity WHERE state = 'idle in transaction';

Identificando consultas demoradas

Para encontrar consultas que estão sendo executadas há mais de 5 minutos, você pode usar:

...

Bloco de código
languagesql
SELECT
  blocking.pid AS blocking_pid,
  blocking.query AS blocking_query,
  blocked.pid AS blocked_pid,
  blocked.query AS blocked_query
FROM
  pg_stat_activity AS blocked
JOIN
  pg_stat_activity AS blocking ON blocked.waiting_pid = blocking.pid
WHERE
  blocked.wait_event IS NOT NULL;
Dica
titleConclusão
A view pg_stat_activity é uma ferramenta para administradores e desenvolvedores de banco de dados que desejam monitorar e diagnosticar atividades no PostgreSQL. Com ela, você pode identificar rapidamente sessões inativas, consultas demoradas e até intervir quando necessário. Como sempre, ao trabalhar com operações que podem impactar a disponibilidade ou integridade dos dados, é essencial proceder com cautela e ter backups atualizados

...

Fonte: 

...

.

...