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

From: Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com>
To: Melanie Plageman <melanieplageman(at)gmail(dot)com>
Cc: Kirill Reshke <reshkekirill(at)gmail(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, Robert Haas <robertmhaas(at)gmail(dot)com>, Andrey Borodin <x4mmm(at)yandex-team(dot)ru>, 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: 2025-11-24 08:07:59
Message-ID: 45662821-41F0-4232-87B7-76A3B5E36BE1@gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> On Nov 21, 2025, at 09:09, Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com> wrote:
>
> I’d stop here today, and continue reviewing rest commits in next week.

I continue reviewing today.

0004 This a pure refactoring. It splits heap_page_prune_and_freeze to multiple small functions. LGTM, no comment.

0005 overall good, a few nit comments as below.

0006, 0007 look good, no comment.

5 - 0005 - heapam.h
```
+ /*
+ *
+ * vmbuffer is the buffer that must already contain contain the required
+ * block of the visibility map if we are to update it. blk_known_av is the
```

Nit:

* an unnecessary empty comment line.
* “contain contain” => “contain"

6 - 0005 heapam_xlog.c
```
+ * The critical integrity requirement here is that we must never end
+ * up with with the visibility map bit set and the page-level
```

Nit: “with with” => “with”

I will continue reviewing 0008 and rest tomorrow.

Best regards,
--
Chao Li (Evan)
HighGo Software Co., Ltd.
https://www.highgo.com/

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Ivan Bykov 2025-11-24 08:20:00 Re: IPC/MultixactCreation on the Standby server
Previous Message Nazir Bilal Yavuz 2025-11-24 07:50:03 Re: Add pg_buffercache_mark_dirty[_all] functions to the pg_buffercache