Cancelar uma consulta em execução (pg_cancel_backend)
PostgreSQLSessõesComando
SELECT pg_cancel_backend(12345);O que faz
Cancela a consulta em execução no PID indicado; a conexão permanece aberta.
Quando usar
Para parar uma consulta longa sem derrubar a conexão.
Atenção
Ele só cancela uma consulta ativa; não fecha uma sessão no estado idle in transaction, o que exige pg_terminate_backend.
Relacionados
- Encerrar um backend (pg_terminate_backend)
- Mostrar consultas ativas e bloqueadoras
- Montar a árvore de bloqueios (encontrar o bloqueador raiz)
- Inspecionar em detalhe as esperas de lock por objeto e modo de lock (pg_locks)
- Encontrar transações longas e 'idle in transaction'
- Encerrar em massa, de forma controlada, sessões 'idle in transaction' longas