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

From: Melanie Plageman <melanieplageman(at)gmail(dot)com>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: Kirill Reshke <reshkekirill(at)gmail(dot)com>, Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com>, 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-20 23:37:08
Message-ID: CAAKRu_ZhHtEaucO--SdYrCjq0zgqk_LPztUD+-QS74A2htXgKw@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Mar 19, 2026 at 10:38 PM Melanie Plageman
<melanieplageman(at)gmail(dot)com> wrote:
>
> Thanks for the detailed review! Unless otherwise specified, attached
> v41 includes all of your straightforward review points.

I've made several minor updates and two notable updates in attached v42:

- no separate log_newpage_buffer() for empty page vacuum.
log_heap_prune_and_freeze() now handles pages without a valid LSN on
its own
- the heap_page_is_all_visible() assertion should be stable even once
it uses GlobalVisState because I've updated the GloablVisState
functions to avoid updating the GlobalVisState boundaries in this case

- Melanie

Attachment Content-Type Size
v42-0001-Fix-visibility-map-corruption-in-more-cases.patch text/x-patch 20.5 KB
v42-0002-Add-pruning-fast-path-for-all-visible-and-all-fr.patch text/x-patch 7.5 KB
v42-0003-Use-GlobalVisState-in-vacuum-to-determine-page-l.patch text/x-patch 18.2 KB
v42-0004-Keep-newest-live-XID-up-to-date-even-if-page-not.patch text/x-patch 15.5 KB
v42-0005-WAL-log-VM-setting-during-vacuum-phase-I-in-XLOG.patch text/x-patch 23.1 KB
v42-0006-WAL-log-VM-setting-for-empty-pages-in-XLOG_HEAP2.patch text/x-patch 5.6 KB
v42-0007-Remove-XLOG_HEAP2_VISIBLE-entirely.patch text/x-patch 27.5 KB
v42-0008-Track-which-relations-are-modified-by-a-query.patch text/x-patch 8.7 KB
v42-0009-Thread-flags-through-begin-scan-APIs.patch text/x-patch 32.9 KB
v42-0010-Pass-down-information-on-table-modification-to-s.patch text/x-patch 11.3 KB
v42-0011-Allow-on-access-pruning-to-set-pages-all-visible.patch text/x-patch 10.1 KB
v42-0012-Set-pd_prune_xid-on-insert.patch text/x-patch 8.8 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andres Freund 2026-03-21 00:33:02 Re: index prefetching
Previous Message Tom Lane 2026-03-20 22:33:08 Re: slow SELECT expr INTO var in plpgsql