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: vignesh C <vignesh21@gmail.com>, Amit Kapila <amit.kapila16@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: 2025-11-07T06:06:04Z
Lists: pgsql-hackers
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
Hi Shlok. Some questions for the patch v25-0002 (EXCEPT tables) ====== doc/src/sgml/ref/alter_publication.sgml 1. +ALTER PUBLICATION <replaceable class="parameter">name</replaceable> ADD ALL TABLES [ EXCEPT [ TABLE ] ( <replaceable class="parameter">exception_object</replaceable> [, ... ] ) ] You can do both ADD/SET the <publication_object>, so really there should be an ADD/SET ALL TABLES command as well, right? ~~~ 2. What was your reason for changing the syntax? AFAICT those added "( )" are not strictly necessary, so I just wondered your reason. For example, we do not have any "( )" for <publication_object> [,...]. It is: ALTER PUBLICATION name ADD publication_object [, ...] Not: ALTER PUBLICATION name ADD (publication_object [, ...]) So in the same way we could have EXCEPT syntax like that: ALTER PUBLICATION name ADD ALL TABLES [EXCEPT <table_exception_object> [, ...]] Where table_exception_object is: [ TABLE ] [ ONLY ] table_name [ * ] Currently, if the user just wants to exclude a single table they must do: ALTER PUBLICATION name ADD ALL TABLES EXCEPT (t1); instead of just ALTER PUBLICATION name ADD ALL TABLES EXCEPT t1; ~~~ 3. BTW, I think you may need to consider a <table_exception_object> instead of a generic name like <exception_object>, because in the future if we EXCEPT SEQUENCES the <exception_object> name may be not appropriate because things like [ONLY] and [*] are not applicable for sequences. ====== Kind Regards, Peter Smith. Fujitsu Australia