Re: Logical Replication of sequences

Dilip Kumar <dilipbalaut@gmail.com>

From: Dilip Kumar <dilipbalaut@gmail.com>
To: vignesh C <vignesh21@gmail.com>
Cc: shveta malik <shveta.malik@gmail.com>, Nisha Moond <nisha.moond412@gmail.com>, Amit Kapila <amit.kapila16@gmail.com>, Peter Smith <smithpb2250@gmail.com>, "Hayato Kuroda (Fujitsu)" <kuroda.hayato@fujitsu.com>, Masahiko Sawada <sawada.mshk@gmail.com>, Shlok Kyal <shlok.kyal.oss@gmail.com>, Peter Eisentraut <peter@eisentraut.org>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, Euler Taveira <euler@eulerto.com>, Michael Paquier <michael@paquier.xyz>, "Zhijie Hou (Fujitsu)" <houzj.fnst@fujitsu.com>, "Jonathan S. Katz" <jkatz@postgresql.org>
Date: 2025-07-21T05:45:33Z
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

On Mon, Jul 21, 2025 at 10:36 AM Dilip Kumar <dilipbalaut@gmail.com> wrote:
>
> I was just trying a different test, so I realized that ALTER
> PUBLICATION ADD SEQUENCE is not supported, any reason for the same?
>
> postgres[154731]=# ALTER PUBLICATION pub ADD sequence s1;
> ERROR:  42601: invalid publication object list
> LINE 1: ALTER PUBLICATION pub ADD sequence s1;
> DETAIL:  One of TABLE or TABLES IN SCHEMA must be specified before a
> standalone table or schema name.
> LOCATION:  preprocess_pubobj_list, gram.y:19685
>
Also I noticed that
1. We don't allow creating publication with individual sequences (e.g.
CREATE PUBLICATION pub FOR SEQUENCE s1;).  Is it because the main
purpose of this sync is major version upgrade and we do not have
scenarios for replicating a few sequences or there are some technical
difficulties in achieving that or both.

2. This syntax works (CREATE PUBLICATION pub FOR ALL TABLES,
SEQUENCES;) but tab completion doesn't suggest this

3. Some of the syntaxes works for sequence which doesn't make sense to
me, as listed below, I think there are more

postgres[154731]=# CREATE PUBLICATION insert_only FOR ALL SEQUENCES
WITH (publish = 'insert');
CREATE PUBLICATION

postgres[154731]=# CREATE PUBLICATION pub FOR ALL SEQUENCES WITH (
PUBLISH_VIA_PARTITION_ROOT );
CREATE PUBLICATION

-- 
Regards,
Dilip Kumar
Google