| 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
| 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 |