Histórico da Página
...
Para obter informações sobre todas as sessões correntes, você pode executar a seguinte consulta:
Bloco de código | ||
---|---|---|
| ||
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 | ||
---|---|---|
| ||
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 | ||
---|---|---|
| ||
SELECT * FROM pg_stat_activity WHERE state = 'active'; |
Identificando sessões que estão bloqueadas por outras
SELECT
...
Bloco de código | ||
---|---|---|
| ||
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.
...