01
O incidente: 380 GB de arquivo temporário em 29 minutos
O volume da primária tinha 1 TB e guardava dados e pg_wal juntos, configuração padrão na maioria das instalações. O alerta de disco disparava em 90%, pensado para crescimento de tabelas, que leva semanas. Arquivo temporário não respeita esse ritmo: uma única consulta escreve centenas de megabytes por segundo, e o caminho entre 70% e 100% levou onze minutos.
14:02 Metabase dispara "faturamento por cliente e categoria" (outubro)
novo filtro de promoção faz join por categoria_id, sem condição de data
10,3 mi de itens x ~40 promoções por categoria = 412 mi de linhas
14:03 Hash Join com work_mem = 4MB: 32 batches em base/pgsql_tmp
14:09 GROUP BY vira Sort external merge: arquivos de 1 GB, um atrás do outro
14:15 Metabase reexecuta o card por timeout do navegador: segunda cópia da consulta
14:20 disco do volume de dados + pg_wal: 71% -> 88% (sem alerta abaixo de 90%)
14:31 100%. PANIC: could not write to file "pg_wal/xlogtemp.48121": No space left on device
14:31 postmaster encerra todas as sessões, crash recovery
14:33 banco volta, arquivos temporários apagados no restart: disco em 62%
14:40 "não tem nada no log": log_temp_files = -1, nenhuma linha sobre os 380 GBTrês detalhes tornam esse incidente típico. Primeiro, o disco não encheu por causa de dados, encheu por causa de trabalho intermediário de uma consulta que nem gravava nada. Segundo, quem morreu não foi a consulta, foi o banco inteiro: quando o Postgres não consegue escrever WAL, ele entra em PANIC, porque não pode garantir durabilidade. Terceiro, desde o Postgres 14 o parâmetro remove_temp_files_after_crash vem ligado e o restart limpa o pgsql_tmp. É o comportamento correto para devolver o espaço, e também o motivo de o time ter encontrado um disco saudável e nenhum culpado.
A reexecução às 14h15 merece atenção. O Metabase, como a maioria das ferramentas de BI, reexecuta a consulta quando o usuário recarrega o painel, e a consulta anterior continua rodando no banco até terminar ou ser cancelada. Duas cópias da mesma consulta descontrolada dobram a velocidade com que o disco enche.