Re: Support EXCEPT for TABLES IN SCHEMA publications - Mailing list pgsql-hackers

From vignesh C
Subject Re: Support EXCEPT for TABLES IN SCHEMA publications
Date
Msg-id CALDaNm0vEdw8R1Uynmcj-JBY_-U7UtuTanbTysL03P61TNAzGg@mail.gmail.com
Whole thread
In response to Support EXCEPT for TABLES IN SCHEMA publications  (Nisha Moond <nisha.moond412@gmail.com>)
List pgsql-hackers
On Wed, 15 Apr 2026 at 14:22, Nisha Moond <nisha.moond412@gmail.com> wrote:
>
> On Tue, Apr 14, 2026 at 8:46 PM vignesh C <vignesh21@gmail.com> 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.

I was reviewing the patches individually and noticed this. If it is
handled in the 003 ignore that comment.

Regards,
Vignesh



pgsql-hackers by date:

Previous
From: Kirill Reshke
Date:
Subject: Re: Add errdetail() with PID and UID about source of termination signal
Next
From: vignesh C
Date:
Subject: Fix tab completion after EXCEPT (...) in IMPORT FOREIGN SCHEMA