Senior
O que faz o VACUUM no PostgreSQL e por que aparecem linhas mortas?
sobes.tech IA
Resposta da IA
No PostgreSQL, ao atualizar ou eliminar linhas, as versões antigas das linhas não são removidas imediatamente, mas tornam-se "mortas" (dead tuples). Isto está relacionado com MVCC (controle de concorrência multiversão), que garante o isolamento das transações. As linhas mortas ocupam espaço e podem atrasar o desempenho da base de dados.
O comando VACUUM limpa estas linhas mortas, libertando espaço e prevenindo o crescimento de tabelas e índices. Existe um VACUUM normal, que apenas marca o espaço como livre, e um VACUUM FULL, que também comprime a tabela, reduzindo o seu tamanho físico.
Exemplo:
VACUUM minha_tabela;
Assim, o VACUUM mantém o desempenho e evita o uso excessivo de espaço em disco.