- Notifications
You must be signed in to change notification settings - Fork5k
Commit4f8d9d1
committed
vacuumlazy.c: Rename dead_tuples to dead_items.
Commit8523492 simplified what it meant for an item to be considered"dead" to VACUUM: TIDs collected in memory (in preparation for indexvacuuming) must always come from LP_DEAD stub line pointers in heappages, found following pruning. This formalized the idea that indexvacuuming (and heap vacuuming) are optional processes. Unlike pruning,they can be delayed indefinitely, without any risk of that violatingfundamental invariants. For example, leaving LP_DEAD items behindclearly won't add to the risk of transaction ID wraparound. You can'thave transaction ID wraparound without transaction IDs. Renaminganything that references DEAD tuples (tuples with storage) reinforcesall this.Code outside vacuumlazy.c continues to fudge the distinction betweendead/deleted tuples, and LP_DEAD items. This is necessary becauseautovacuum scheduling is still mostly driven by "dead items/tuples"statistics. In the future we may find it useful to replace this modelwith something more sophisticated, as a step towards teaching autovacuumto perform more frequent vacuuming that targeting individual indexesthat happen to be more prone to becoming bloated through version churn.In passing, simplify some function signatures that deal with VACUUM'sdead_items array.Author: Peter Geoghegan <pg@bowt.ie>Reviewed-By: Masahiko Sawada <sawada.mshk@gmail.com>Discussion:https://postgr.es/m/CAH2-WzktGBg4si6DEdmq3q6SoXSDqNi6MtmB8CmmTmvhsxDTLA@mail.gmail.com1 parent4f33af2 commit4f8d9d1
1 file changed
+190
-159
lines changed0 commit comments
Comments
(0)