Léxico de TI › Bancos de dados › VACUUM (Postgres)

VACUUM (Postgres)

Bancos de dados Svenska → Atualizado: 2026-10-01

Manutenção do PostgreSQL que limpa as "linhas mortas" (tuplas mortas) deixadas pelo MVCC após UPDATE/DELETE. Sem o VACUUM, as tabelas incham e os IDs de transação podem se esgotar. Geralmente tratado automaticamente pelo autovacuum.

Por que é necessário: o PostgreSQL nunca sobrescreve uma linha; um UPDATE cria uma nova versão e marca a antiga como morta. O VACUUM libera o espaço para reutilização (mas não encolhe o arquivo, o que é papel do VACUUM FULL, com lock exclusivo). A outra tarefa crítica: "congelar" (freeze) linhas antigas para evitar o wraparound do ID de transação, uma catástrofe que pode parar o banco. O VACUUM ANALYZE também atualiza as estatísticas do planejador. O bloat é uma causa comum de degradação misteriosa de desempenho. Monitore por meio de pg_stat_user_tables. O PostgreSQL 17+ melhorou bastante o uso de memória do VACUUM.

← Voltar ao léxico