Gestão de Lojas - PostgreSQL - Como saber quais as queries e locks que estão sendo executadas no momento
Dúvida
Como saber quais as queries e locks que estão sendo executadas atualmente no PostgreSQL?
Solução
Para identificar quais as queries e locks que estão sendo executadas, realize os passos a seguir:
1. Acesse no pgAdmin;
2. Selecione a base de dados desejada clicando com o botão direito do mouse e escolha a opção Query Tool, conforme demonstrado na imagem abaixo:
3. Execute o select abaixo para identificar os processos que estão rodando no momento:
SELECT PID, QUERYSTART, DATNAME, CLIENTADDR, COALESCE(WAITEVENTTYPE||'/'||WAITEVENT,'') AS WAIT , QUERY , STATE FROM PGSTATACTIVITY A WHERE PID <> PGBACKENDPID() AND STATE <> 'IDLE' ORDER BY QUERYSTART DESC NULLS LAST
4. Para encerrar o processo, identifique o PID e execute o seguinte comando:
SELECT PGTERMINATEBACKEND (PID)
Atenção! Antes de realizar qualquer alteração, analise o impacto que poderá ter em outros lançamentos/processos do sistema.