VACUUM es el proceso de mantenimiento de PostgreSQL que recupera almacenamiento de dead tuples (versiones de filas obsoletas dejadas por MVCC) y actualiza estadísticas. Como el MVCC de Postgres crea filas muertas en cada UPDATE/DELETE, VACUUM es esencial para prevenir bloat y mantener la base de datos saludable. Autovacuum lo automatiza.
Por qué es importante dead tuples existen (la conexión MVCC)
MVCC: an UPDATE/DELETE doesn't overwrite a row — it marks the old version obsolete
(a "dead tuple") and may create a new one. Dead tuples accumulate over time.
→ Without cleanup, dead tuples cause BLOAT: wasted disk space, slower scans
(more data to read), degraded performance.
VACUUM reclaims this dead space → keeps tables compact and queries fast.
