pgsql: Add "ALL SEQUENCES" support to publications. - Mailing list pgsql-committers

From Amit Kapila
Subject pgsql: Add "ALL SEQUENCES" support to publications.
Date
Msg-id E1v6hoi-000mZa-22@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
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 <vignesh21@gmail.com>
Author: Tomas Vondra <tomas@vondra.me>
Reviewed-by: shveta malik <shveta.malik@gmail.com>
Reviewed-by: Dilip Kumar <dilipbalaut@gmail.com>
Reviewed-by: Peter Smith <smithpb2250@gmail.com>
Reviewed-by: Hayato Kuroda <kuroda.hayato@fujitsu.com>
Reviewed-by: Masahiko Sawada <sawada.mshk@gmail.com>
Reviewed-by: Nisha Moond <nisha.moond412@gmail.com>
Reviewed-by: Shlok Kyal <shlok.kyal.oss@gmail.com>
Reviewed-by: Amit Kapila <amit.kapila16@gmail.com>
Discussion: https://postgr.es/m/CAA4eK1LC+KJiAkSrpE_NwvNdidw9F2os7GERUeSxSKv71gXysQ@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/96b37849734673e7c82fb86c4f0a46a28f500ac8

Modified Files
--------------
doc/src/sgml/catalogs.sgml                |  10 +
doc/src/sgml/logical-replication.sgml     |  42 +--
doc/src/sgml/ref/alter_publication.sgml   |   6 +-
doc/src/sgml/ref/create_publication.sgml  |  74 +++-
doc/src/sgml/system-views.sgml            |  66 ++++
src/backend/catalog/pg_publication.c      |  75 +++-
src/backend/catalog/system_views.sql      |  10 +
src/backend/commands/publicationcmds.c    | 116 ++++--
src/backend/parser/gram.y                 |  87 ++++-
src/bin/pg_dump/pg_dump.c                 |  19 +-
src/bin/pg_dump/pg_dump.h                 |   1 +
src/bin/pg_dump/t/002_pg_dump.pl          |  21 ++
src/bin/psql/describe.c                   |  84 ++++-
src/bin/psql/tab-complete.in.c            |   6 +-
src/include/catalog/catversion.h          |   2 +-
src/include/catalog/pg_proc.dat           |   5 +
src/include/catalog/pg_publication.h      |   9 +-
src/include/nodes/parsenodes.h            |  18 +
src/test/regress/expected/psql.out        |   6 +-
src/test/regress/expected/publication.out | 570 +++++++++++++++++-------------
src/test/regress/expected/rules.out       |   8 +
src/test/regress/sql/publication.sql      |  46 +++
src/tools/pgindent/typedefs.list          |   2 +
23 files changed, 929 insertions(+), 354 deletions(-)


pgsql-committers by date:

Previous
From: Amit Langote
Date:
Subject: pgsql: Fix internal error from CollateExpr in SQL/JSON DEFAULT expressi
Next
From: Michael Paquier
Date:
Subject: pgsql: Remove duplicated log related to slot creation in pg_createsubsc