Re: Combine Prune and Freeze records emitted by vacuum
Peter Geoghegan <pg@bowt.ie>
From: Peter Geoghegan <pg@bowt.ie>
To: Heikki Linnakangas <hlinnaka@iki.fi>
Cc: Melanie Plageman <melanieplageman@gmail.com>,
Pg Hackers <pgsql-hackers@postgresql.org>, Andres Freund <andres@anarazel.de>, Robert Haas <robertmhaas@gmail.com>
Date: 2024-03-20T20:04:28Z
Lists: pgsql-hackers
On Wed, Mar 20, 2024 at 9:15 AM Heikki Linnakangas <hlinnaka@iki.fi> wrote: > > I made it its own sub-record (xlhp_conflict_horizon) less to help with > > alignment (though we can use all the help we can get there) and more to > > keep it from getting lost. When you look at heapam_xlog.h, you can see > > what a XLOG_HEAP2_PRUNE record will contain starting with the > > xl_heap_prune struct and then all the sub-record types. > > Ok, now that I look at this, I wonder if we're being overly cautious > about the WAL size. We probably could just always include the snapshot > field, and set it to InvalidTransactionId and waste 4 bytes when it's > not needed. For the sake of simplicity. I don't feel strongly either way > though, the flag is pretty simple too. What about the issue of cleanup locks, which aren't needed and aren't taken with the current heapam VACUUM record type? Will you preserve that aspect of the existing design? -- Peter Geoghegan
Commits
-
Combine freezing and pruning steps in VACUUM
- 6dbb490261a6 17.0 landed
-
Refactor how heap_prune_chain() updates prunable_xid
- 26d138f64474 17.0 landed
-
Introduce 'options' argument to heap_page_prune()
- 3d0f730bf19f 17.0 landed
-
Handle non-chain tuples outside of heap_prune_chain()
- 6f47f6883151 17.0 landed
-
Refactor heap_prune_chain()
- 7aa00f1360e0 17.0 landed
-
Minor refactoring in heap_page_prune
- 9917e79d995c 17.0 landed
-
Remove obsolete comment about VACUUM retrying pruning
- 427005742bd2 17.0 landed
-
Merge prune, freeze and vacuum WAL record formats
- f83d709760d8 17.0 landed
-
Remove unused PruneState member rel
- c9c260decd23 17.0 landed
-
Reorganize heap_page_prune() function comment
- c33084205a86 17.0 landed