Re: Skipping schema changes in publication

vignesh C <vignesh21@gmail.com>

From: vignesh C <vignesh21@gmail.com>
To: Nisha Moond <nisha.moond412@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-09T04:32:26Z
Lists: pgsql-hackers
On Fri, 6 Mar 2026 at 16:51, Nisha Moond <nisha.moond412@gmail.com> wrote:
>
> 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 [, ...] )

Modified

> 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 ...

I felt the current message is in line with the existing messages in
that function. So not making any change.

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

Updated

The v59 version patch attached at [1] has the changes for the same.
[1] - https://www.postgresql.org/message-id/CALDaNm34tpJDVxEr70dmggY6sWyJxvaSuHN%2BpW2B6skTtjs46A%40mail.gmail.com

Regards,
Vignesh



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.