Pular para conteúdo

PG-REC-BLOCKING-001 · Esperas por lock de 30 s ou mais durante a gravação

Severidade Confiança Permissão Aplica-se a
Alta Confirmado pg_monitor (pg_read_all_stats) Gravações (codedb-lens record): PostgreSQL 14+, RDS, Aurora, Azure Flexible

O que verifica

O coletor locks (pg_stat_activity + pg_blocking_pids(), a cada 15 s). Um episódio por backend bloqueador enquanto uma sessão espera um lock por pelo menos 30 s (min_wait_s).

Por que importa

Sessões esperaram pelo menos 30 segundos um lock de outro backend. Enquanto dura, os usuários veem timeouts e telas travadas.

Próxima ação

Comece pelo bloqueador do episódio mais longo. Um bloqueador "idle in transaction" é uma aplicação que abriu uma transação e não terminou; configure idle_in_transaction_session_timeout e corrija a aplicação. Um bloqueador ativo é um comando longo para otimizar ou tirar do horário de pico.

Como validar

Grave de novo no mesmo horário depois da correção. Os episódios desse bloqueador devem sumir ou ficar bem mais curtos.

Limitações

As amostras são feitas a cada 15 segundos, então esperas mais curtas podem passar despercebidas, e a duração de um episódio tem precisão de cerca de 15 segundos.