| From: | Melanie Plageman <melanieplageman(at)gmail(dot)com> |
|---|---|
| To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
| Subject: | pgsql: Avoid setting pd_prune_xid when inserting frozen tuples |
| Date: | 2026-09-14 14:47:15 |
| Message-ID: | E1x67xj-00000000IeA-28H1@gemulon.postgresql.org |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-committers |
Avoid setting pd_prune_xid when inserting frozen tuples
378a216187a set pd_prune_xid on inserts so that on-access pruning could
later set the pages all-visible. heap_multi_insert() skipped this only
when setting the page all-frozen, but it can insert frozen tuples even
when not setting the page all-frozen. Inserting frozen tuples should not
set pd_prune_xid as they introduce no work for on-access pruning. Fix by
only setting pd_prune_xid when inserting non-frozen tuples.
Reported-by: Melanie Plageman <melanieplageman(at)gmail(dot)com>
Reviewed-by: Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com>
Discussion: https://postgr.es/m/CAAKRu_a02pu7U2S0qPZ5L%2BoWb2m2Zp965sOKCCLnKUAKNo-hfg%40mail.gmail.com
Backpatch-through: 19
Branch
------
REL_19_STABLE
Details
-------
https://git.postgresql.org/pg/commitdiff/41a8548ad41854d88578aebcfdf54bbdca42d49e
Modified Files
--------------
src/backend/access/heap/heapam.c | 6 +++---
src/backend/access/heap/heapam_xlog.c | 21 ++++++++++++++++-----
2 files changed, 19 insertions(+), 8 deletions(-)
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Peter Eisentraut | 2026-09-14 14:55:51 | pgsql: Fix parallel GIN index build with keys larger than 65535 bytes |
| Previous Message | Melanie Plageman | 2026-09-14 14:44:47 | pgsql: Avoid setting pd_prune_xid when inserting frozen tuples |