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

From: Melanie Plageman <melanieplageman(at)gmail(dot)com>
To: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Cc: Andres Freund <andres(at)anarazel(dot)de>, Robert Haas <robertmhaas(at)gmail(dot)com>
Subject: Re: eliminate xl_heap_visible to reduce WAL (and eventually set VM on-access)
Date: 2025-06-26 22:04:34
Message-ID: CAAKRu_YXP1Us41fkZJeBK5SSj5whNC0C9fZNT6Brdtm+F0agpg@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, Jun 23, 2025 at 4:25 PM Melanie Plageman
<melanieplageman(at)gmail(dot)com> wrote:
>
> The attached patch set eliminates xl_heap_visible, the WAL record
> emitted when a block of the heap is set all-visible/frozen in the
> visibility map. Instead, it includes the information needed to update
> the VM in the WAL record already emitted by the operation modifying
> the heap page.

Rebased in light of recent changes on master:

0001: cleanup
0002: preparatory work
0003: eliminate xl_heap_visible for COPY FREEZE
0004 - 0005: eliminate xl_heap_visible for vacuum's phase III
0006: eliminate xl_heap_visible for vacuum phase I empty pages
0007 - 0010: preparatory refactoring
0011: eliminate xl_heap_visible from vacuum phase I prune/freeze
0012: remove xl_heap_visible

- Melanie

Attachment Content-Type Size
v2-0002-Introduce-unlogged-versions-of-VM-functions.patch text/x-patch 5.9 KB
v2-0001-Introduce-heap-specific-wrapper-for-visibilitymap.patch text/x-patch 16.0 KB
v2-0004-Make-heap_page_is_all_visible-independent-of-LVRe.patch text/x-patch 5.1 KB
v2-0005-Eliminate-xl_heap_visible-from-vacuum-phase-III.patch text/x-patch 24.7 KB
v2-0003-Eliminate-xl_heap_visible-in-COPY-FREEZE.patch text/x-patch 6.7 KB
v2-0008-Combine-vacuum-phase-I-VM-update-cases.patch text/x-patch 4.2 KB
v2-0007-Combine-lazy_scan_prune-VM-corruption-cases.patch text/x-patch 7.1 KB
v2-0009-Find-and-fix-VM-corruption-in-heap_page_prune_and.patch text/x-patch 11.7 KB
v2-0010-Update-VM-in-pruneheap.c.patch text/x-patch 12.0 KB
v2-0006-Use-xl_heap_prune-record-for-setting-empty-pages-.patch text/x-patch 6.1 KB
v2-0011-Eliminate-xl_heap_visible-from-vacuum-phase-I-pru.patch text/x-patch 24.7 KB
v2-0012-Remove-xl_heap_visible-entirely.patch text/x-patch 20.8 KB

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Jacob Champion 2025-06-26 23:33:35 [PATCH] OAuth: fix performance bug with stuck multiplexer events
Previous Message Jelte Fennema-Nio 2025-06-26 22:04:24 Re: Correct documentation for protocol version