Re: Skipping schema changes in publication
Amit Kapila <amit.kapila16@gmail.com>
From: Amit Kapila <amit.kapila16@gmail.com>
To: shveta malik <shveta.malik@gmail.com>
Cc: vignesh C <vignesh21@gmail.com>,
"David G. Johnston" <david.g.johnston@gmail.com>, Dilip Kumar <dilipbalaut@gmail.com>, Shlok Kyal <shlok.kyal.oss@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-02-18T06:50:23Z
Lists: pgsql-hackers
On Tue, Feb 17, 2026 at 5:08 PM shveta malik <shveta.malik@gmail.com> wrote: > > 10) > CreatePublication() has changed the way we process publications. > Earlier, we had explicit checks for publication types such as > 'for_all_tables' and 'for_all_sequences' etc, which made the code > easier to follow. That differentiation based on publication type is no > longer there. As an example, > we now invoke functions like TransformPubWhereClauses() and > CheckPubRelationColumnList() even for FOR ALL TABLES ... EXCEPT > publications, which are not needed. We could consider restoring the > previous structure, where logic was clearly separated based on > publication type. > Yeah, we can do that if it doesn't add more complexity w.r.t except clause because the proposed approach tries to unify the code path where we need to add relations to pg_publication_rel. I think we are doing some of the new stuff even for all sequences case as well which is not required for the patch. If we want we can keep a flag indicating the presence of the except flag in CreatePublicationStmt to simplify the handling. BTW, the patch doesn't implement EXCEPT clause for ALL SEQUENCES, is it because we want to deal with that separately to avoid additional complexity in the patch? Otherwise, I think that is a natural extension of this work. -- With Regards, Amit Kapila.
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