Questão FC372994
Um analista de uma Secretaria de Estado está analisando uma base de dados PostgreSQL e, para manter a saúde e a performance do banco, pretende remover tuplas obsoletas, limpar dado
Sistema de Gerenciamento de Banco de Dados (SGBD)
FCC · 2024
Um analista de uma Secretaria de Estado está analisando uma base de dados PostgreSQL e, para manter a saúde e a performance do banco, pretende remover tuplas obsoletas, limpar dados mortos, recuperar espaço em disco e atualizar estatísticas das tabelas. Essa operação deve ser realizada através do comando
- NOTIFY
- CLEAR
- LISTEN
- VACUUM
- EXPLAIN
Mostrar resposta e comentário
Gabarito
D
Comentário do professor
VACUUM é o comando do PostgreSQL responsável por limpar registros obsoletos gerados pelo mecanismo MVCC. Ele remove ou marca para reutilização as tuplas mortas, evitando o crescimento desnecessário das tabelas (bloat) e mantendo índices eficientes.
Além de liberar espaço interno para novas inserções/atualizações, o VACUUM ajuda a prevenir o problema de wraparound de IDs de transação, congelando tuplas antigas para segurança dos dados.
Existem variantes: VACUUM normal libera espaço para reutilização interna; VACUUM FULL compacta a tabela e pode devolver espaço ao sistema operacional; VACUUM ANALYZE executa também a coleta de estatísticas usadas pelo otimizador.
Em produção recomenda-se manter o autovacuum ativo e executar VACUUM manualmente quando houver grandes cargas de deleção/atualização.
Conteúdo do catálogo FC Concursos · Atualizado em