VACUUM (Postgres)
Konserwacja PostgreSQL, która sprząta „martwe wiersze” (martwe krotki) pozostawiane przez MVCC po UPDATE/DELETE. Bez VACUUM tabele puchną, a identyfikatory transakcji mogą się wyczerpać. Zwykle robi to automatycznie autovacuum.
Po co: PostgreSQL nigdy nie nadpisuje wiersza — UPDATE tworzy nową wersję i oznacza starą jako martwą. VACUUM zwalnia miejsce do ponownego użycia (ale nie zmniejsza pliku — to robi VACUUM FULL z wyłączną blokadą). Drugie kluczowe zadanie: „zamrażanie” starych wierszy, by zapobiec zawinięciu identyfikatora transakcji (katastrofie, która może zatrzymać bazę). VACUUM ANALYZE aktualizuje przy okazji statystyki planisty. Rozdęcie (bloat) to częsta przyczyna tajemniczego spadku wydajności. Monitoruj przez pg_stat_user_tables. PostgreSQL 17+ znacznie poprawił zużycie pamięci przez VACUUM.