On Fri, Mar 6, 2026 at 4:26 PM Amit Kapila <[email protected]> wrote: > > On Fri, Mar 6, 2026 at 1:47 PM vignesh C <[email protected]> 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)"
I prefer Option-1 as it provides a consistent extension of the existing CREATE PUBLICATION syntax. Since we already use FOR ALL TABLES and FOR ALL TABLES EXCEPT... during CREATE PUBLICATION, applying the same logic to ALTER PUBLICATION is intuitive and maintains a uniform experience for the user. So +1 for Option-1. -- Regards, Dilip Kumar Google
