VACUUM är PostgreSQLs underhållsprocess som återtar lagringsutrymme från dead tuples (föråldrade radversioner lämnade av MVCC) och uppdaterar statistik. Eftersom Postgres MVCC skapar dead rows vid varje UPDATE/DELETE är VACUUM avgörande för att förhindra bloat och hålla databasen frisk. Autovacuum automatiserar det.
Varför dead tuples finns (MVCC-kopplingen)
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.
