Árvore de páginas

Versões comparadas

Chave

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

...

Para obter informações sobre todas as sessões correntes, você pode executar a seguinte consulta:

Bloco de código
languagesql
SELECT * FROM pg_stat_activity;


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

...

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

Bloco de código
languagesql
SELECT * FROM pg_stat_activity

...


WHERE state = 'active' AND now() - query_start > interval '5 minutes';


Identificando sessões ativas

Consultando sessões em estado ativas.

Bloco de código
languagesql
SELECT * FROM pg_stat_activity WHERE state = 'active';



Identificando sessões que estão bloqueadas por outras

SELECT

...

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

...


FROM
  pg_stat_activity AS blocked

...

JOIN

...


JOIN
  pg_stat_activity AS blocking ON blocked.waiting_pid = blocking.pid

...


WHERE

...


  blocked.wait_event IS NOT NULL;



Conclusã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.

...