Histórico da Página
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 | ||
---|---|---|
| ||
PostgreSQL: Monitoramento • PostgreSQL: 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 | ||
---|---|---|
| ||
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 | ||
---|---|---|
| ||
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 | ||
---|---|---|
| ||
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:
...
. |
...