Re: Logical Replication of sequences
Amit Kapila <amit.kapila16@gmail.com>
Commits
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Doc: Add documentation for sequence synchronization.
- 55cefadde874 19 (unreleased) landed
-
Remove unused assignment in CREATE PUBLICATION grammar.
- bfb7419b0bbe 19 (unreleased) landed
-
Add seq_sync_error_count to subscription statistics.
- f6a4c498dcf6 19 (unreleased) landed
-
Fix few issues in commit 5509055d69.
- 5a4eba558aa7 19 (unreleased) landed
-
Add sequence synchronization for logical replication.
- 5509055d6956 19 (unreleased) landed
-
Add worker type argument to logical replication worker functions.
- 3e8e05596a02 19 (unreleased) landed
-
Introduce "REFRESH SEQUENCES" for subscriptions.
- f0b3573c3aac 19 (unreleased) landed
-
Refactor logical worker synchronization code into a separate file.
- 41c674d2e31e 19 (unreleased) landed
-
Standardize use of REFRESH PUBLICATION in code and messages.
- 2436b8c047ff 19 (unreleased) landed
-
Add "ALL SEQUENCES" support to publications.
- 96b378497346 19 (unreleased) landed
-
Expose sequence page LSN via pg_get_sequence_data.
- b93172ca59f4 19 (unreleased) landed
-
Resume conflict-relevant data retention automatically.
- 0d48d393d465 19 (unreleased) cited
-
Post-commit review fixes for 228c370868.
- 1f7e9ba3ac4e 19 (unreleased) cited
-
Generate GUC tables from .dat file
- 63599896545c 19 (unreleased) cited
On Mon, Nov 10, 2025 at 4:22 PM vignesh C <vignesh21@gmail.com> wrote:
>
> On Mon, 10 Nov 2025 at 14:34, Shlok Kyal <shlok.kyal.oss@gmail.com> wrote:
> >
> > While working on another thread, I found that in HEAD gram.y has
> > grammar which was committed as part of this thread:
> > ```
> > | CREATE PUBLICATION name FOR pub_obj_type_list opt_definition
> > {
> > CreatePublicationStmt *n = makeNode(CreatePublicationStmt);
> >
> > n->pubname = $3;
> > n->pubobjects = (List *) $5;
> > preprocess_pub_all_objtype_list($5, &n->for_all_tables,
> > &n->for_all_sequences,
> > yyscanner);
> > n->options = $6;
> > $$ = (Node *) n;
> > }
> > ```
> >
> > Here we are assigning "n->pubobjects = (List *) $5". But later in the
> > code this is not used anywhere for ALL TABLES/ ALL SEQUENCES
> > publication. It is used for other publications (not ALL TABLES/
> > SEQUENCES) inside function "ObjectsInPublicationToOids"
> >
> > So are we required to assign "n->pubobjects" here?
> >
> > I have created a patch to remove this assignment. It passed "make check-world".
>
> I agree that this is not required for ALL TABLES/ALL SEQUENCES cases.
>
I also agree. BTW, can we change pub_obj_type_list to
pub_all_obj_type_list to be more explicit about this variant? If you
agree then we can make similar changes
(pub_obj_type->pub_all_obj_type) at the following places as well:
+ * CREATE PUBLICATION FOR ALL pub_obj_type [, ...] [WITH options]
+ *
+ * pub_obj_type is one of:
+ *
--
With Regards,
Amit Kapila.