Re: Skipping schema changes in publication

Nisha Moond <nisha.moond412@gmail.com>

From: Nisha Moond <nisha.moond412@gmail.com>
To: vignesh C <vignesh21@gmail.com>
Cc: shveta malik <shveta.malik@gmail.com>, Amit Kapila <amit.kapila16@gmail.com>, Shlok Kyal <shlok.kyal.oss@gmail.com>, Ashutosh Sharma <ashu.coek88@gmail.com>, "David G. Johnston" <david.g.johnston@gmail.com>, Dilip Kumar <dilipbalaut@gmail.com>, Peter Smith <smithpb2250@gmail.com>, "Zhijie Hou (Fujitsu)" <houzj.fnst@fujitsu.com>, YeXiu <1518981153@qq.com>, Ian Lawrence Barwick <barwick@gmail.com>, Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2026-03-06T11:20:53Z
Lists: pgsql-hackers
On Fri, Mar 6, 2026 at 1:47 PM vignesh C <vignesh21@gmail.com> wrote:
>
> Thanks for the comments, the attached v58 version patch has the
> changes for the same.
>

Thanks for the patches. I reviewed and tested v58-0001, and here are a
few comments:

1) alter_publication.sgml
+<phrase>where <replaceable
class="parameter">publication_set_object</replaceable> is one
of:</phrase>
+
+    EXCEPT TABLE [ ONLY ] ( <replaceable
class="parameter">table_name</replaceable> [, ... ] )

Should ONLY be moved inside parentheses(), as it applies per table:-
EXCEPT TABLE ( [ ONLY ] table_name [, ...] )

2) publicationcmds.c
  postgres=# alter publication pub2 set EXCEPT TABLE (t3);
  ERROR:  publication "pub2" is not defined as FOR ALL TABLES
  DETAIL:  EXCEPT Tables cannot be added to publications that are not
defined as FOR ALL TABLES.

The DETAIL message “EXCEPT Tables cannot be added …” could be adjusted , e.g.,
EXCEPT tables cannot be added ...
or
EXCEPT TABLE cannot be used for publications ...

3) gram.y
The comments above "AlterPublicationStmt:" should be updated for the
newly supported command.

--
Thanks,
Nisha



Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Fix miscellaneous issues in EXCEPT publication clause.

  2. Change syntax of EXCEPT TABLE clause in publication commands.

  3. Add support for EXCEPT TABLE in ALTER PUBLICATION.

  4. Allow table exclusions in publications via EXCEPT TABLE.

  5. Add wait_for_subscription_sync for TAP tests.