Glossary — in plain language

Heap pruning

Also called: opportunistic pruning, page pruning, HOT pruning

In plain English

Heap pruning is the lightweight, on-the-fly cleanup PostgreSQL does to a single page while a query is already looking at it. It reclaims the space of dead row versions on that page and collapses HOT chains — but it stays inside the one page and never touches indexes.

Why it matters

Pruning is why dead rows often disappear long before VACUUM runs, and why a plain SELECT can generate WAL and dirty pages. It only removes versions older than the xmin horizon, so a long-running transaction quietly disables it. Full VACUUM is still needed to clean index entries and update the free space map.

Was this helpful?

← Browse the full glossary