Pular para o conteúdo

PopSQL: suporte limitado.

Migrar agora →

Sessões esperando por lock

Quem está esperando, por quem e há quanto tempo. O resultado saudável é o vazio.

PostgreSQL · SQL
SELECT w.pid AS waiting_pid,
       w.usename AS waiting_user,
       EXTRACT(EPOCH FROM (now() - w.query_start))::int AS waiting_seconds,
       LEFT(w.query, 120) AS waiting_query,
       b.pid AS blocking_pid,
       b.usename AS blocking_user,
       b.state AS blocking_state,
       LEFT(b.query, 120) AS blocking_query
FROM pg_stat_activity w
JOIN LATERAL unnest(pg_blocking_pids(w.pid)) AS bp(pid) ON true
JOIN pg_stat_activity b ON b.pid = bp.pid
WHERE w.wait_event_type = 'Lock'
ORDER BY w.query_start

Esta consulta faz parte do pacote "Saúde do PostgreSQL": conecte o banco no DataRunner e instale o pacote inteiro — consultas, painel e verificações — de uma vez.

  • Verificação que vem junto: Ninguém esperando por lock