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: Alexander Lakhin <exclusion(at)gmail(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, Andrey Borodin <x4mmm(at)yandex-team(dot)ru>, Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com>, 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-01-29 15:16:26
Message-ID: CAAKRu_ZnJiLaQD_pcTN=KGPHt3m-XirR+=Jj3OqURghPmu01yg@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Jan 29, 2026 at 8:39 AM Kirill Reshke <reshkekirill(at)gmail(dot)com> wrote:
>
> Thanks Alexander!
> This is a good and detailed report, I was able to reproduce this.

Thanks to both of you for looking into it!

> I have added some logs to my copy of postgres with your patch and I
> think problem causing this test to fail is this sequence:
>
> 1) Autovacuum starts, does its deeds, and acquiring xid = 118518

So, in this scenario, is the issue that autovacuum runs before vacuum
freeze? If so, we can change the table DDL to:

create table test_vac_unmodified_heap(a int) with (autovacuum_enabled = false);

which would prevent the autovacuum from running.

Unless there is some other way for one of the other tests to hold
OldestXmin back to before the xid of the insert. But I don't see how.

> 2) insert into test_vac_unmodified_heap values (1); executes and
> commits with xid = 118519 (from my log)
> 3) vacuum freeze starts and computes cutoff xid = 118518, because
> oldest xmin is 118518 from (1)
>
> *and we cannot freeze tuple*

- Melanie

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Ilia Evdokimov 2026-01-29 15:25:12 Re: Optional skipping of unchanged relations during ANALYZE?
Previous Message vignesh C 2026-01-29 15:11:26 Re: Skipping schema changes in publication