VACUUM to proces utrzymania PostgreSQL, który odzyskuje pamięć masową z martwych krotek (zdezaktualizowanych wersji wierszy pozostawionych przez MVCC) i aktualizuje statystyki. Ponieważ MVCC PostgreSQL tworzy martwe wiersze przy każdej operacji UPDATE/DELETE, VACUUM jest niezbędny, aby zapobiec zaśmieceniu i utrzymać bazę danych w zdrowiu. Autovacuum automatyzuje ten proces.
Dlaczego istnieją martwe krotki (połączenie z 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.
