Sobes.tech
Junior — Middle

Por que é que o comando VACUUM é utilizado no PostgreSQL e qual é o seu papel principal na gestão da base de dados?

sobes.tech IA

Resposta da IA

No PostgreSQL, o comando VACUUM é usado para limpar a base de dados de linhas 'mortas' que permanecem após atualizações e eliminações. O papel principal do VACUUM é liberar espaço ocupado por esses registros desatualizados para evitar o crescimento do tamanho das tabelas e melhorar o desempenho das consultas.

O PostgreSQL usa MVCC (controle de concorrência multiversão), onde as atualizações não sobrescrevem as linhas, mas criam novas versões. As versões antigas são consideradas 'mortas' e não são necessárias após todas as transações que poderiam tê-las visto terem sido concluídas. O VACUUM remove essas versões antigas.

Além disso, o VACUUM atualiza as estatísticas e metadados, o que ajuda o planejador de consultas a escolher os planos de execução ideais.

Exemplo de uso:

VACUUM;
-- ou para uma limpeza mais profunda
VACUUM FULL;