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-07T04:04:29Z
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 →
  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.

Hi Shlok.

This is a general comment about the content of these patches.

IIUC, the v25* patches currently are currently arranged like this:

0001
 - New command ALTER PUBLICATION pubname RESET;
0002
- Add new command: ALTER PUBLICATION pub_name ADD ALL TABLES;
- Enhance existing CREATE and the new ALTER syntax for EXCEPT tables
0003
- Enhance existing CREATE and ALTER syntax for EXCEPT col_list

~~~

IMO it is a bug that the ALTER PUBLICATION pub_name ADD/SET ALL TABLES
command does not already exist as a supported command. And, that is
independent of anything else you are implementing here like RESET or
EXCEPT.

Therefore, I think that one should be 1st in your patchset; The EXCEPT
stuff then just becomes enhancements to existing syntax, which would
give a cleaner separation of logic.

So, I am suggesting there should be 4 patches instead of 3. e.g.

SUGGESTION
0001 - New command: ALTER PUBLICATION pub_name ADD/SET ALL TABLES;
0002 - New command: ALTER PUBLICATION pubname RESET;
0003 - Enhance existing CREATE/ALTER syntax for EXCEPT tables
0004 - Enhance existing CREATE/ALTER syntax for EXCEPT col_list

======
Kind Regards,
Peter Smith.
Fujitsu Australia