Thread
-
[PATCH v1 10/12] prune_xid-hist: collect data from vacuum
Renan Alves Fonseca <renanfonseca@gmail.com> — 2025-05-30T11:34:49Z
--- src/backend/access/heap/vacuumlazy.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/backend/access/heap/vacuumlazy.c b/src/backend/access/heap/vacuumlazy.c index 8565f6dd215..afd57e31f5b 100644 --- a/src/backend/access/heap/vacuumlazy.c +++ b/src/backend/access/heap/vacuumlazy.c @@ -1955,6 +1955,8 @@ lazy_scan_prune(LVRelState *vacrel, Relation rel = vacrel->rel; PruneFreezeResult presult; int prune_options = 0; + TransactionId old_xid; + TransactionId new_xid; Assert(BufferGetBlockNumber(buf) == blkno); @@ -1977,10 +1979,12 @@ lazy_scan_prune(LVRelState *vacrel, if (vacrel->nindexes == 0) prune_options |= HEAP_PAGE_PRUNE_MARK_UNUSED_NOW; + old_xid = ((PageHeader) page)->pd_prune_xid; heap_page_prune_and_freeze(rel, buf, vacrel->vistest, prune_options, &vacrel->cutoffs, &presult, PRUNE_VACUUM_SCAN, &vacrel->offnum, &vacrel->NewRelfrozenXid, &vacrel->NewRelminMxid); + new_xid = ((PageHeader) page)->pd_prune_xid; Assert(MultiXactIdIsValid(vacrel->NewRelminMxid)); Assert(TransactionIdIsValid(vacrel->NewRelfrozenXid)); @@ -2049,6 +2053,8 @@ lazy_scan_prune(LVRelState *vacrel, vacrel->live_tuples += presult.live_tuples; vacrel->recently_dead_tuples += presult.recently_dead_tuples; + pgstat_update_transient_prune_xid_histogram(&vacrel->prune_xid_hist, old_xid, new_xid); + /* Can't truncate this page */ if (presult.hastup) vacrel->nonempty_pages = blkno + 1; -- 2.47.0 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=v1-0011-prune_xid-hist-transfer-data-to-shared-histogram.patch