]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Remove ALL keyword from TABLES IN SCHEMA for publication
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Thu, 22 Sep 2022 17:02:25 +0000 (19:02 +0200)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Thu, 22 Sep 2022 17:02:25 +0000 (19:02 +0200)
commitf256236fb1b00e9d05f889a53e93feeecbd50991
treeac571177516b220cff0b9d85cf15db5687048dda
parent5f56933ea5d5b0b1a0bbe4c7b8f5110f8fe256ed
Remove ALL keyword from TABLES IN SCHEMA for publication

This may be a bit too subtle, but removing that word from there makes
this clause no longer a perfect parallel of the GRANT variant "ALL
TABLES IN SCHEMA": indeed, for publications what we record is the schema
itself, not the tables therein, which means that any tables added to the
schema in the future are also published.  This is completely different
to what GRANT does, which is affect only the tables that exist when the
command is executed.

There isn't resounding support for this change, but there are a few
positive votes and no opposition.  Because the time to 15 RC1 is very
short, let's get this out now.

Backpatch to 15.

Discussion: https://postgr.es/m/2729c9e2-9aac-8cda-f2f4-34f2bcc18f4e
21 files changed:
doc/src/sgml/logical-replication.sgml
doc/src/sgml/ref/alter_publication.sgml
doc/src/sgml/ref/create_publication.sgml
doc/src/sgml/ref/create_subscription.sgml
doc/src/sgml/system-views.sgml
src/backend/catalog/pg_publication.c
src/backend/commands/publicationcmds.c
src/backend/parser/gram.y
src/backend/replication/pgoutput/pgoutput.c
src/bin/pg_dump/pg_dump.c
src/bin/pg_dump/t/002_pg_dump.pl
src/bin/psql/tab-complete.c
src/test/regress/expected/alter_table.out
src/test/regress/expected/object_address.out
src/test/regress/expected/publication.out
src/test/regress/sql/alter_table.sql
src/test/regress/sql/object_address.sql
src/test/regress/sql/publication.sql
src/test/subscription/t/025_rep_changes_for_schema.pl
src/test/subscription/t/028_row_filter.pl
src/test/subscription/t/031_column_list.pl