On Tue, Apr 14, 2026 at 8:46 PM vignesh C <[email protected]> wrote: > > When an EXCEPT table is specified together with TABLES IN SCHEMA sch1, > the EXCEPT entry is correctly created: > postgres=# create publication pub1 for tables in schema sch1 except (sch1.t1); > CREATE PUBLICATION > > postgres=# \dRp+ pub1 > Publication pub1 > Owner | All tables | All sequences | Inserts | Updates | Deletes | > Truncates | Generated columns | Via root | Description > ---------+------------+---------------+---------+---------+---------+-----------+-------------------+----------+------------- > vignesh | f | f | t | t | t | > t | none | f | > Tables from schemas: > "sch1" > Except tables: > "sch1.t1" > However, after dropping the schema from the publication, the > previously recorded EXCEPT table entry is still retained: > postgres=# alter publication pub1 drop TABLES IN SCHEMA sch1 ; > ALTER PUBLICATION > postgres=# \dRp+ pub1 > Publication pub1 > Owner | All tables | All sequences | Inserts | Updates | Deletes | > Truncates | Generated columns | Via root | Description > ---------+------------+---------------+---------+---------+---------+-----------+-------------------+----------+------------- > vignesh | f | f | t | t | t | > t | none | f | > Except tables: > "sch1.t1" > > This seems incorrect, because once sch1 is no longer part of the > publication, retaining "sch1.t1" as an EXCEPT entry no longer has any > semantic meaning and leaves behind stale catalog state. >
This is handled in v1-003 (last) patch along with other ALTER PUBLICATION related modifications. -- Thanks, Nisha
