Hi

Ășt 31. 3. 2026 v 6:18 odesĂ­latel Amit Kapila <[email protected]>
napsal:

> Change syntax of EXCEPT TABLE clause in publication commands.
>
> Adjust the syntax of the EXCEPT clause in CREATE/ALTER PUBLICATION
> added in commits fd366065e0 and 493f8c6439 to move the TABLE keyword
> inside the relation list.
>
> Old syntax:
> CREATE PUBLICATION ... FOR ALL TABLES EXCEPT TABLE (t1, ...);
> ALTER PUBLICATION  ... SET ALL TABLES EXCEPT TABLE (t1, ...);
>
> New syntax:
> CREATE PUBLICATION ... FOR ALL TABLES EXCEPT (TABLE t1, ...);
> ALTER PUBLICATION  ... SET ALL TABLES EXCEPT (TABLE t1, ...);
>
> This is to ensure that inclusion and exclusion list can be specified in
> a same way. Previously, the exclusion table list can be specified as
> TABLE (t1, t2, t3) and inclusion list can be specified as TABLE t1, t2,
> t3, or TABLE t1, TABLE t2, TABLE t3.
>
> This change is purely syntactic and does not alter behavior.
>

I am late, I am sorry. I don't think the new syntax is intuitive.

Why is the keyword TABLE necessary there?

Cannot be just:

CREATE PUBLICATION ... FOR ALL TABLES EXCEPT (t1, ...);

Regards

Pavel


>
> Reported-by: Masahiko Sawada <[email protected]>
> Author: vignesh C <[email protected]>
> Author: Shlok Kyal <[email protected]>
> Reviewed-by: shveta malik <[email protected]>
> Reviewed-by: Peter Smith <[email protected]>
> Reviewed-by: Zhijie Hou <[email protected]>
> Reviewed-by: Dilip Kumar <[email protected]>
> Reviewed-by: SATYANARAYANA NARLAPURAM <[email protected]>
> Reviewed-by: Amit Kapila <[email protected]>
> Discussion:
> https://postgr.es/m/cad21aocc8xuwfx62qkbsfhuaoww_xb3_84hjswgl9jxqy69...@mail.gmail.com
> Discussion:
> https://postgr.es/m/CALDaNm3=JrucjhiiwsYQw5-PGtBHFONa6F7hhWCXMsGvh=t...@mail.gmail.com
>
> Branch
> ------
> master
>
> Details
> -------
>
> https://git.postgresql.org/pg/commitdiff/5984ea868eeeb202bddedfbdaca81adfe7ea6779
>
> Modified Files
> --------------
> doc/src/sgml/catalogs.sgml                |  2 +-
> doc/src/sgml/logical-replication.sgml     |  2 +-
> doc/src/sgml/ref/alter_publication.sgml   | 28 ++++++------
> doc/src/sgml/ref/create_publication.sgml  | 20 +++++----
> src/backend/catalog/pg_publication.c      |  6 +--
> src/backend/commands/publicationcmds.c    |  2 +-
> src/backend/parser/gram.y                 | 10 ++---
> src/bin/pg_dump/pg_dump.c                 | 16 +++----
> src/bin/pg_dump/t/002_pg_dump.pl          | 12 +++---
> src/bin/psql/describe.c                   |  2 +-
> src/bin/psql/tab-complete.in.c            | 28 ++++++------
> src/test/regress/expected/publication.out | 71
> ++++++++++++++++++++-----------
> src/test/regress/sql/publication.sql      | 59 ++++++++++++++-----------
> src/test/subscription/t/037_except.pl     | 52 +++++++++++-----------
> 14 files changed, 176 insertions(+), 134 deletions(-)
>
>

Reply via email to