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: shveta malik <shveta.malik@gmail.com>, Shlok Kyal <shlok.kyal.oss@gmail.com>, Nisha Moond <nisha.moond412@gmail.com>, Ashutosh Sharma <ashu.coek88@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-03-06T10:56:39Z
Lists: pgsql-hackers
On Fri, Mar 6, 2026 at 1:47 PM vignesh C <vignesh21@gmail.com> wrote:
>

Instead of a syntax like "ALTER PUBLICATION pub1 DROP EXCEPT TABLE t1"
to allow resetting the entire except list by incrementally dropping
the except tables, I could think of following alternatives

Option-1: ALTER PUBLICATION pub1 SET ALL TABLES; This suggests it is
still an ALL TABLES publication, but providing a new definition. Since
it didn't include an EXCEPT clause this time, the exception list is
now empty.

Option-2: ALTER PUBLICATION pub1 SET EXCEPT TABLE DEFAULT; Since the
"default" state of an ALL TABLES publication is to have zero
exceptions, the "default" will serve as an alias for an empty list.

If we follow the first one, then we can choose "ALTER PUBLICATION pub1
SET ALL TABLES EXCEPT TABLE (t1)" to set a new except list instead of
"ALTER PUBLICATION pub1 SET EXCEPT TABLE (t1)"

-- 
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 →
  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.