Re: Support EXCEPT for TABLES IN SCHEMA publications

Nisha Moond <nisha.moond412@gmail.com>

From: Nisha Moond <nisha.moond412@gmail.com>
To: Amit Kapila <amit.kapila16@gmail.com>
Cc: Peter Smith <smithpb2250@gmail.com>, Zsolt Parragi <zsolt.parragi@percona.com>, pgsql-hackers@lists.postgresql.org
Date: 2026-06-15T11:30:50Z
Lists: pgsql-hackers

Attachments

On Mon, Jun 15, 2026 at 11:50 AM Amit Kapila <amit.kapila16@gmail.com> wrote:
>
> On Thu, Jun 11, 2026 at 12:17 PM Peter Smith <smithpb2250@gmail.com> wrote:
> >
> > //////////
> > v12-0002
> >
> > ======
> > doc/src/sgml/ref/alter_publication.sgml
> >
> > 1.
> > +     <para>
> > +      For <literal>FOR TABLES IN SCHEMA</literal> publications, the
> > +      <literal>EXCEPT</literal> clause is schema-scoped.  If a table listed in
> > +      the <literal>EXCEPT</literal> clause is later moved to a different schema
> > +      using <command>ALTER TABLE ... SET SCHEMA</command>, the exclusion is
> > +      removed; the table will then be published if its new schema is part of a
> > +      publication.  If the table is subsequently moved back to the original
> > +      schema, the exclusion is not restored, and must be re-established
> > +      explicitly using <command>ALTER PUBLICATION</command>.  Dropping a table
> > +      always removes it from the <literal>EXCEPT</literal> clause,
> > regardless of
> > +      publication type.
> > +     </para>
> >
> >
> > I think the sentence "If the table is subsequently moved back..." is
> > overkill, and does not need to be said. The prior info "the exclusion
> > is removed" already tells me the exclusion is gone, and I think is
> > reasonable to assume "removed" means that it is gone for good, with no
> > ambiguity that it might magically come back.
> >
> > YMMV. Leave it as-is if you prefer.
> >
>
> I feel it is okay to keep the proposed sentence to avoid any ambiguity
> by the user to consider the schema-scope state is symmetric.
>

Okay, I have kept this para as-it-is.

The other comments on v12-0001 from [1] have also been addressed.

Please find the updated v13 patches attached.

[1] https://www.postgresql.org/message-id/CAHut%2BPv-GA1oGa6%2Bnwn_5AVhBg8NuJThQVUzqhQPXJge49jnew%40mail.gmail.com

--
Thanks,
Nisha

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Doc: Clarify that publication exclusions track table identity.