Re: Skipping schema changes in publication
Amit Kapila <amit.kapila16@gmail.com>
From: Amit Kapila <amit.kapila16@gmail.com>
To: vignesh C <vignesh21@gmail.com>
Cc: Shlok Kyal <shlok.kyal.oss@gmail.com>,
shveta malik <shveta.malik@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-02-22T11:20:57Z
Lists: pgsql-hackers
On Fri, Feb 20, 2026 at 2:08 PM vignesh C <vignesh21@gmail.com> wrote:
>
> The attached v47 version patch has the changes for the same.
>
Few comments on 0001:
1.
- * publish the child tables when the parent table is published.
+ * No need to invalidate the tables listed in the EXCEPT clause, because
+ * in that case all tables are invalidated anyway.
Give the reference of a function where all tables are invalidated.
2.
List *
-GetAllPublicationRelations(char relkind, bool pubviaroot)
+GetAllPublicationRelations(Publication *pub, char relkind)
...
+ if (relkind == RELKIND_RELATION)
+ exceptlist = GetExcludedPublicationTables(pubid, pubviaroot ?
+ PUBLICATION_PART_ROOT :
+ PUBLICATION_PART_LEAF);
Can you add a comment why the patch forms exceptlist only for RELKIND_RELATION?
3.
+ errmsg("cannot combine publications that define EXCEPT TABLE clauses"),
+ errdetail("The following publications define EXCEPT TABLE clauses: %s.",
Can you see a similar style of error message formation at any other
place in code? As per my understanding, in such cases, we display
required objects in errmsg itself. For example, "publications %s do
not exist on the publisher". Also, I think the errmsg should end with
a clause instead of caluses.
--
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