Re: Skipping schema changes in publication

Peter Smith <smithpb2250@gmail.com>

From: Peter Smith <smithpb2250@gmail.com>
To: Shlok Kyal <shlok.kyal.oss@gmail.com>
Cc: Amit Kapila <amit.kapila16@gmail.com>, vignesh C <vignesh21@gmail.com>, Dilip Kumar <dilipbalaut@gmail.com>, shveta malik <shveta.malik@gmail.com>, Masahiko Sawada <sawada.mshk@gmail.com>, "Hayato Kuroda (Fujitsu)" <kuroda.hayato@fujitsu.com>, Nisha Moond <nisha.moond412@gmail.com>, Ashutosh Sharma <ashu.coek88@gmail.com>, "David G. Johnston" <david.g.johnston@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-30T05:58:15Z
Lists: pgsql-hackers
Hi Shlok.

Here are the remainder of my review comments for patch v3-0001.

These are for the test code only.

======
src/test/regress/sql/publication.sql

Missing Test case:

1.
AFAICT, there are currently no test cases for ALTER PUBLICATION that
are using variations of the syntax having multiple TABLE keywords.
e.g. "EXCEPT (TABLE t1,t2,t3, TABLE t4)".

IOW, the flexible syntax is being tested for CREATE PUBLICATION, but
not for ALTER PUBLICATION.

~~~

2.
--- Replace the existing EXCEPT TABLE list (testpub_tbl1) with a new
--- EXCEPT TABLE list containing only (testpub_tbl2).
-ALTER PUBLICATION testpub_foralltables_excepttable SET ALL TABLES
EXCEPT TABLE (testpub_tbl2);
+-- Replace the existing table list in EXCEPT clause (testpub_tbl1) with a new
+-- table list containing only (testpub_tbl2).
+ALTER PUBLICATION testpub_foralltables_excepttable SET ALL TABLES
EXCEPT (TABLE testpub_tbl2);

The comment seems wrong because, IIUC, the existing exclude-list at
this point would be "(TABLE testpub_tbl1, testpub_tbl2, TABLE
testpub_tbl3)".

Also /in EXCEPT clause/in the EXCEPT clause/

======
Kind Regards,
Peter Smith.
Fujitsu Australia



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.