Re: Support EXCEPT for TABLES IN SCHEMA publications

From: Peter Smith <smithpb2250(at)gmail(dot)com>
To: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
Cc: Nisha Moond <nisha(dot)moond412(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Support EXCEPT for TABLES IN SCHEMA publications
Date: 2026-04-14 08:09:42
Message-ID: CAHut+Ps4w6Ghp495wcV-WiigLsAeMuW=_sMf95nHDoujwv6b9A@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Apr 14, 2026 at 5:52 PM Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> wrote:
>
> On Tue, Apr 14, 2026 at 1:03 PM Peter Smith <smithpb2250(at)gmail(dot)com> wrote:
> >
> >
> > -- Syntax can be *identical* to the "EXCEPT (TABLE ...)" clause already pushed.
> > -- Both of these below are equivalent.
> > CREATE PUBLICATION pub FOR TABLES IN SCHEMA s1 EXCEPT (TABLE t1, t2, t3);
> > CREATE PUBLICATION pub FOR TABLES IN SCHEMA s1 EXCEPT (TABLE t1, TABLE
> > t2, TABLE t3);
> >
> > -- Below is an example of multiple schemas and multiple except clauses:
> > -- publish all tables of schema s1 except s1.t1 and s1.t2
> > -- publish all tables of schema s2
> > -- publish all tables of schema s3 except table s3.t2 (how is this
> > ambiguous with the excluded s1.t2?)
> > CREATE PUBLICATION pub FOR TABLES IN SCHEMA s1 EXCEPT (TABLE t1, t2),
> > s2, s3 EXCEPT (TABLE t2);
> >
>
> We can go in the direction as proposed by you but my preference would
> be to avoid using EXCEPT keyword multiple times.
>
> --

Using the "EXCEPT keyword multiple times" wasn't anything different
proposed by me. That was already part of the original post.

e.g. in the 3rd example.

------
Supported:
CREATE PUBLICATION pub FOR TABLES IN SCHEMA s1 EXCEPT (s1.t1), TABLE s2.t1;
CREATE PUBLICATION pub FOR TABLE s2.t1, TABLES IN SCHEMA s1 EXCEPT (s1.t1);
CREATE PUBLICATION pub FOR TABLES IN SCHEMA s1 EXCEPT (s1.t1), s2
EXCEPT (s2.t1);
------

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

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Langote 2026-04-14 08:19:44 GetCachedPlan() refactor: move execution lock acquisition out
Previous Message Peter Eisentraut 2026-04-14 08:08:22 meson html:alias vs. html:custom