23% Faster Autovacuum with Parallel Workers in PostgreSQL 19
Before PostgreSQL 19, autovacuum processed indexes without using parallel vacuum workers, even when a...
Tag archive
Before PostgreSQL 19, autovacuum processed indexes without using parallel vacuum workers, even when a...
MVCC leaves a dead row version behind on every update. This is the cleanup story — why bloat slows queries down instead of just filling disk, what VACUUM and VACUUM FULL really do, how autovacuum decides when to run, why one forgotten transaction can block cleanup across the whole database, and how freezing stops 32-bit transaction IDs from silently eating your data.
When rows are updated or deleted in PostgreSQL, the database does not immediately remove the old row...
A b-tree that has lost most of its keys keeps every page it allocated: PostgreSQL reclaims completely empty index pages, but a page with a few keys left on it stays put, and no autovacuum setting changes that. Measure the damage with pgstatindex.avg_
Eliminate the bloat in your database with vacuum and autovacuum.