postgresql/src/backend/access
Heikki Linnakangas f83d709760 Merge prune, freeze and vacuum WAL record formats
The new combined WAL record is now used for pruning, freezing and 2nd
pass of vacuum. This is in preparation for changing VACUUM to write a
combined prune+freeze record per page, instead of separate two
records. The new WAL record format now supports that, but the code
still always writes separate records for pruning and freezing.

This reserves separate XLOG_HEAP2_* info codes for when the pruning
record is emitted for on-access pruning or VACUUM, per Peter
Geoghegan's suggestion. The record format is identical, but having
separate info codes makes it easier analyze pruning and vacuuming with
pg_waldump.

The function to emit the new WAL record, log_heap_prune_and_freeze(),
is in pruneheap.c. The existing heap_log_freeze_plan() and its
subroutines are moved to pruneheap.c without changes, to keep them
together with log_heap_prune_and_freeze().

Author: Melanie Plageman <melanieplageman@gmail.com>
Discussion: https://www.postgresql.org/message-id/CAAKRu_azf-zH%3DDgVbquZ3tFWjMY1w5pO8m-TXJaMdri8z3933g@mail.gmail.com
Discussion: https://www.postgresql.org/message-id/CAAKRu_b2oE4GL%3Dq4g9mcByS9yT7wTQvEH9OLpabj28e%2BWKFi2A@mail.gmail.com
2024-03-25 14:59:58 +02:00
..
brin Make the order of the header file includes consistent 2024-03-13 15:07:00 +01:00
common Add TIDStore, to store sets of TIDs (ItemPointerData) efficiently. 2024-03-21 10:08:42 +09:00
gin Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
gist Merge prune, freeze and vacuum WAL record formats 2024-03-25 14:59:58 +02:00
hash Merge prune, freeze and vacuum WAL record formats 2024-03-25 14:59:58 +02:00
heap Merge prune, freeze and vacuum WAL record formats 2024-03-25 14:59:58 +02:00
index Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
nbtree Fix an oversight in refactoring in 06b10f80ba. 2024-03-22 15:25:53 +02:00
rmgrdesc Merge prune, freeze and vacuum WAL record formats 2024-03-25 14:59:58 +02:00
sequence Fix comment thinko in sequence.c 2024-02-27 08:19:39 +09:00
spgist Make the order of the header file includes consistent 2024-03-13 15:07:00 +01:00
table Remove redundant snapshot copying from parallel leader to workers 2024-03-14 15:18:10 +02:00
tablesample Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
transam Make the order of the header file includes consistent 2024-03-13 15:07:00 +01:00
Makefile Introduce sequence_*() access functions 2024-02-26 16:04:59 +09:00
meson.build Introduce sequence_*() access functions 2024-02-26 16:04:59 +09:00