Re: eliminate xl_heap_visible to reduce WAL (and eventually set VM on-access)

From: Melanie Plageman <melanieplageman(at)gmail(dot)com>
To: Kirill Reshke <reshkekirill(at)gmail(dot)com>
Cc: Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, Andrey Borodin <x4mmm(at)yandex-team(dot)ru>, Xuneng Zhou <xunengzhou(at)gmail(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Heikki Linnakangas <hlinnaka(at)iki(dot)fi>
Subject: Re: eliminate xl_heap_visible to reduce WAL (and eventually set VM on-access)
Date: 2026-03-17 14:48:55
Message-ID: CAAKRu_a6Cd7JnxhY4A=b_Paxc3UDUDOPeqV3GbzMh=R2KkD-uQ@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Mar 17, 2026 at 5:05 AM Kirill Reshke <reshkekirill(at)gmail(dot)com> wrote:
>
> > From 788860ded375fcf744201347b9dcbf496070bfb5 Mon Sep 17 00:00:00 2001
> > From: Melanie Plageman <melanieplageman(at)gmail(dot)com>
> > Date: Wed, 25 Feb 2026 16:48:19 -0500
> > Subject: [PATCH v39 02/12] Add pruning fast path for all-visible and
> all-frozen pages
>
> For the record, does this work with DISABLE_PAGE_SKIPPING? I think we
> don't want the server to "fast-path" in case this option is set by
> the user...

Hmm. This is a good point. The docs for DISABLE_PAGE_SKIPPING say it
is about fixing visibility map corruption and the fast path does
detect and fix one type of visibility map corruption. It does not
investigate for dead line pointers, though. I suppose
DISABLE_PAGE_SKIPPING would want to also do that kind of VM corruption
detection. Thanks for thinking of that. Attached v40 adds an option to
disable the fast path.

- Melanie

Attachment Content-Type Size
v40-0001-Fix-visibility-map-corruption-in-more-cases.patch text/x-patch 18.7 KB
v40-0002-Add-pruning-fast-path-for-all-visible-and-all-fr.patch text/x-patch 7.4 KB
v40-0003-Use-GlobalVisState-in-vacuum-to-determine-page-l.patch text/x-patch 11.5 KB
v40-0004-Keep-newest-live-XID-up-to-date-even-if-page-not.patch text/x-patch 14.9 KB
v40-0005-Eliminate-XLOG_HEAP2_VISIBLE-from-vacuum-phase-I.patch text/x-patch 24.7 KB
v40-0006-Eliminate-XLOG_HEAP2_VISIBLE-from-empty-page-vac.patch text/x-patch 2.6 KB
v40-0007-Remove-XLOG_HEAP2_VISIBLE-entirely.patch text/x-patch 25.0 KB
v40-0008-Track-which-relations-are-modified-by-a-query.patch text/x-patch 5.8 KB
v40-0009-Thread-flags-through-begin-scan-APIs.patch text/x-patch 28.1 KB
v40-0010-Pass-down-information-on-table-modification-to-s.patch text/x-patch 14.5 KB
v40-0011-Allow-on-access-pruning-to-set-pages-all-visible.patch text/x-patch 10.5 KB
v40-0012-Set-pd_prune_xid-on-insert.patch text/x-patch 10.9 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Nathan Bossart 2026-03-17 15:01:42 Re: Add starelid, attnum to pg_stats and leverage this in pg_dump
Previous Message Dave Cramer 2026-03-17 14:41:41 Re: Proposal to allow setting cursor options on Portals