VACUUM at the Page Level

406 · Radim Marek · July 5, 2026, 2:44 p.m.
Summary
This blog post deeply analyzes how PostgreSQL's VACUUM command processes dead tuples at the page level. It explains various phases of VACUUM, including heap scans, index cleanup, and heap cleanup, detailing their effects on line pointers, storage, and page visibility. The article also contrasts regular VACUUM with VACUUM FULL, emphasizing the importance of VACUUM in reclaiming space and maintaining performance in PostgreSQL databases.