On Tue, Mar 21, 2023 at 3:37 PM Peter Geoghegan <p...@bowt.ie> wrote:
> I think that we should do something like the attached, to completely
> avoid this ambiguity. This patch adds a new XLOG_HEAP2 bit that's
> similar to XLOG_HEAP_INIT_PAGE -- XLOG_HEAP2_BYVACUUM. This allows all
> XLOG_HEAP2 record types to indicate that they took place during
> VACUUM, by XOR'ing the flag with the record type/info when
> XLogInsert() is called. For now this is only used by PRUNE records.
> Tools like pg_walinspect will report a separate "Heap2/PRUNE+BYVACUUM"
> record_type, as well as the unadorned Heap2/PRUNE record_type, which
> we'll now know must have been opportunistic pruning.
>
> The approach of using a bit in the style of the heapam init bit makes
> sense to me, because the bit is available, and works in a way that is
> minimally invasive. Also, one can imagine needing to resolve a similar
> ambiguity in the future, when (say) opportunistic freezing is added.

Starting a new, dedicated thread to keep track of this in the CF app.

This patch bitrot. Attached is v2, rebased on top of HEAD.

-- 
Peter Geoghegan

Attachment: v2-0001-Record-which-PRUNE-records-are-from-VACUUM.patch
Description: Binary data

Reply via email to