RE: Follow-up fixes for online wal_level change

From: "Hayato Kuroda (Fujitsu)" <kuroda(dot)hayato(at)fujitsu(dot)com>
To: Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, 'Guoqing Yang' <yanggq1988(at)126(dot)com>
Subject: RE: Follow-up fixes for online wal_level change
Date: 2026-07-16 09:41:55
Message-ID: OS9PR01MB12149CD84B6CB6434E189FB8AF5C72@OS9PR01MB12149.jpnprd01.prod.outlook.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Dear Sawada-san,

> > I think that replaying the status change record itself is correct, as
> > it reflects the status at the time the record was written. The problem
> > is that the end-of-recovery code assumed that this cannot happen,
> > instead of adjusting the status. Therefore, the fix removes the
> > wal_level='minimal' special case from
> > UpdateLogicalDecodingStatusEndOfRecovery() so that it recomputes the
> > status as usual.

Good catch. I could reproduce.

I initially thought that we could just skip redoing for
XLOG_LOGICAL_DECODING_STATUS_CHANGE records. I confirmed it could also solve the
issue. Also, I think it could slightly reduce the redoing time because it does
not have to emit/wait the ProcSignalBarrier. But your point is also valid:
either way is fine for me.

I reviewed your patches and I could not find issues.

Best regards,
Hayato Kuroda
FUJITSU LIMITED

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Greg Burd 2026-07-16 10:04:43 Re: Tepid: selective index updates for heap relations
Previous Message Peter Eisentraut 2026-07-16 09:30:41 Re: clean up size_t/ssize_t use with POSIX file system APIs