Re: Logical Replication of sequences

vignesh C <vignesh21@gmail.com>

From: vignesh C <vignesh21@gmail.com>
To: Amit Kapila <amit.kapila16@gmail.com>
Cc: Peter Smith <smithpb2250@gmail.com>, Chao Li <li.evan.chao@gmail.com>, Masahiko Sawada <sawada.mshk@gmail.com>, "Hayato Kuroda (Fujitsu)" <kuroda.hayato@fujitsu.com>, "Zhijie Hou (Fujitsu)" <houzj.fnst@fujitsu.com>, Dilip Kumar <dilipbalaut@gmail.com>, shveta malik <shveta.malik@gmail.com>, Shlok Kyal <shlok.kyal.oss@gmail.com>, Nisha Moond <nisha.moond412@gmail.com>, Peter Eisentraut <peter@eisentraut.org>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, Euler Taveira <euler@eulerto.com>, Michael Paquier <michael@paquier.xyz>, "Jonathan S. Katz" <jkatz@postgresql.org>
Date: 2025-11-05T13:47:34Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Doc: Add documentation for sequence synchronization.

  2. Remove unused assignment in CREATE PUBLICATION grammar.

  3. Add seq_sync_error_count to subscription statistics.

  4. Fix few issues in commit 5509055d69.

  5. Add sequence synchronization for logical replication.

  6. Add worker type argument to logical replication worker functions.

  7. Introduce "REFRESH SEQUENCES" for subscriptions.

  8. Refactor logical worker synchronization code into a separate file.

  9. Standardize use of REFRESH PUBLICATION in code and messages.

  10. Add "ALL SEQUENCES" support to publications.

  11. Expose sequence page LSN via pg_get_sequence_data.

  12. Resume conflict-relevant data retention automatically.

  13. Post-commit review fixes for 228c370868.

  14. Generate GUC tables from .dat file

Attachments

On Wed, 5 Nov 2025 at 18:10, Amit Kapila <amit.kapila16@gmail.com> wrote:
>
> On Wed, Nov 5, 2025 at 5:57 PM vignesh C <vignesh21@gmail.com> wrote:
> >
> > On Wed, 5 Nov 2025 at 13:58, Amit Kapila <amit.kapila16@gmail.com> wrote:
> > >
> > > On Mon, Nov 3, 2025 at 8:46 PM vignesh C <vignesh21@gmail.com> wrote:
> > > >
> > > > The attached v20251103 patch has the changes for the same.
> > > >
> > >
> > > I have pushed the 0001 after making minor adjustments in tests and at
> > > a few other places. Kindly rebase and send the remaining patches.
> >
> > I noticed a buildfarm failure on prion at [1].
> > The test failed on prion because it runs with the following additional
> > configuration:
> > log_error_verbosity = verbose
> >
> > Due to this setting, the logs include an extra LOCATION line between
> > the WARNING and ERROR messages, which was not expected by the test:
> > 2025-11-05 11:35:21.090 UTC [1357163:3] WARNING:  55000: mismatched or
> > renamed sequence on subscriber ("public.regress_s4")
> > 2025-11-05 11:35:21.090 UTC [1357163:4] LOCATION:
> > report_sequence_errors, sequencesync.c:185
> > 2025-11-05 11:35:21.090 UTC [1357163:5] ERROR:  55000: logical
> > replication sequence synchronization failed for subscription
> > "regress_seq_sub"
> >
> > I'm working on a fix for this issue.
> >
>
> We can fix it either by expecting just a WARNING for this test which
> is sufficient. The other possibility is that we can expect some other
> line(s) between WARNING and ERROR. I think just waiting for WARNING in
> the log is sufficient as that serves the purpose of this test. What do
> you think?

I also think checking only for the WARNING message in the log is
sufficient to verify the test. The attached patch includes this
change.
Alternatively, we could check for the WARNING first and then verify
the ERROR separately if needed.
Thoughts?

Regards,
Vignesh