Add "ALL SEQUENCES" support to publications.
authorAmit Kapila <[email protected]>
Thu, 9 Oct 2025 03:48:54 +0000 (03:48 +0000)
committerAmit Kapila <[email protected]>
Thu, 9 Oct 2025 03:48:54 +0000 (03:48 +0000)
commit96b37849734673e7c82fb86c4f0a46a28f500ac8
treebd12627fe6ff240f26d7ff2db36e29a9c3e751e4
parentef5e60a9d352a97791af632e0d26a572bc88e921
Add "ALL SEQUENCES" support to publications.

This patch adds support for the ALL SEQUENCES clause in publications,
enabling synchronization/replication of all sequences that is useful for
upgrades.

Publications can now include all sequences via FOR ALL SEQUENCES.
psql enhancements:
\d shows publications for a given sequence.
\dRp indicates if a publication includes all sequences.

ALL SEQUENCES can be combined with ALL TABLES, but not with other options
like TABLE or TABLES IN SCHEMA. We can extend support for more granular
clauses in future.

The view pg_publication_sequences provides information about the mapping
between publications and sequences.

This patch enables publishing of sequences; subscriber-side support will
be added in upcoming patches.

Author: vignesh C <[email protected]>
Author: Tomas Vondra <[email protected]>
Reviewed-by: shveta malik <[email protected]>
Reviewed-by: Dilip Kumar <[email protected]>
Reviewed-by: Peter Smith <[email protected]>
Reviewed-by: Hayato Kuroda <[email protected]>
Reviewed-by: Masahiko Sawada <[email protected]>
Reviewed-by: Nisha Moond <[email protected]>
Reviewed-by: Shlok Kyal <[email protected]>
Reviewed-by: Amit Kapila <[email protected]>
Discussion: https://postgr.es/m/CAA4eK1LC+KJiAkSrpE_NwvNdidw9F2os7GERUeSxSKv71gXysQ@mail.gmail.com
23 files changed:
doc/src/sgml/catalogs.sgml
doc/src/sgml/logical-replication.sgml
doc/src/sgml/ref/alter_publication.sgml
doc/src/sgml/ref/create_publication.sgml
doc/src/sgml/system-views.sgml
src/backend/catalog/pg_publication.c
src/backend/catalog/system_views.sql
src/backend/commands/publicationcmds.c
src/backend/parser/gram.y
src/bin/pg_dump/pg_dump.c
src/bin/pg_dump/pg_dump.h
src/bin/pg_dump/t/002_pg_dump.pl
src/bin/psql/describe.c
src/bin/psql/tab-complete.in.c
src/include/catalog/catversion.h
src/include/catalog/pg_proc.dat
src/include/catalog/pg_publication.h
src/include/nodes/parsenodes.h
src/test/regress/expected/psql.out
src/test/regress/expected/publication.out
src/test/regress/expected/rules.out
src/test/regress/sql/publication.sql
src/tools/pgindent/typedefs.list