RE: Skipping schema changes in publication
Zhijie Hou (Fujitsu) <houzj.fnst@fujitsu.com>
From: "Zhijie Hou (Fujitsu)" <houzj.fnst@fujitsu.com>
To: Shlok Kyal <shlok.kyal.oss@gmail.com>, Amit Kapila <amit.kapila16@gmail.com>
Cc: Peter Smith <smithpb2250@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>, 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:51:23Z
Lists: pgsql-hackers
Attachments
- v1-0001-simplify-gram.y-atop-of-your-patch_patch (application/octet-stream)
On Saturday, March 28, 2026 4:50 AM Shlok Kyal <shlok.kyal.oss@gmail.com> wrote: > > On Fri, 27 Mar 2026 at 18:04, Amit Kapila <amit.kapila16@gmail.com> wrote: > > > > > > BTW, why do we need preprocess_except_pubobj_list? > > > It is needed to check if the first table in the EXCEPT list is specified with TABLE > Keyword. > For example: create publication pub1 for all tables except (t1, t2); This should > throw an error because t1 is specified without the TABLE keyword. > > We have a similar logic for FOR TABLE or FOR TABLES IN SCHEMA > publications in 'preprocess_pubobj_list' The preprocess_pubobj_list function was originally introduced to handle mixed object types (SCHEMA and TABLE) in the main list, allowing type-specific processing per item. However, the EXCEPT clause currently only supports TABLE objects. So strictly speaking, we don't need a similar preprocessing function here, at least not until we support other object types in the EXCEPT clause. We could implement the same logic directly in bison code, as shown in the attached example. > > I have attached the latest version here. I have also addressed the comment > shared by Shveta in [1]. > [1]: https://www.postgresql.org/message- > id/CAJpy0uCMhxUdEZMqDuSHXeAMES1gH56r- > tkhR1J79A_f3wrLkg@mail.gmail.com Best Regards, Hou zj
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Fix miscellaneous issues in EXCEPT publication clause.
- 6b0550c45d13 19 (unreleased) landed
-
Change syntax of EXCEPT TABLE clause in publication commands.
- 5984ea868eee 19 (unreleased) landed
-
Add support for EXCEPT TABLE in ALTER PUBLICATION.
- 493f8c6439cf 19 (unreleased) landed
-
Allow table exclusions in publications via EXCEPT TABLE.
- fd366065e06a 19 (unreleased) landed
-
Add wait_for_subscription_sync for TAP tests.
- 0c20dd33db16 16.0 cited