Re: Support EXCEPT for TABLES IN SCHEMA publications

Nisha Moond <nisha.moond412@gmail.com>

From: Nisha Moond <nisha.moond412@gmail.com>
To: shveta malik <shveta.malik@gmail.com>
Cc: Peter Smith <smithpb2250@gmail.com>, Amit Kapila <amit.kapila16@gmail.com>, Zsolt Parragi <zsolt.parragi@percona.com>, pgsql-hackers@lists.postgresql.org
Date: 2026-07-02T04:51:18Z
Lists: pgsql-hackers
On Wed, Jul 1, 2026 at 3:46 PM shveta malik <shveta.malik@gmail.com> wrote:
>
> On Wed, Jul 1, 2026 at 3:37 PM Nisha Moond <nisha.moond412@gmail.com> wrote:
> >
> >
> > Besides the above comments, I found and fixed a few additional issues
> > during further testing:
> > 1) Fixed an issue where UPDATE/DELETE on an excluded table without
> > replica identity was still blocked. e.g.,
> >
> > postgres=# create publication pub_h2 for tables in schema s1 except ( table t1);
> > postgres=# update s1.t1 set c1=3 where c1=1;
> > ERROR: cannot update table "t1" because it does not have a replica
> > identity and publishes updates
> > HINT: To enable updating the table, set REPLICA IDENTITY using ALTER TABLE.
> >
> > Excluded tables should not be treated as published for update/delete checks.
>
> Nisha, this bug was introduced by your patch or does it exist in 'ALL
> TABLES Except TABLE' too?
>

The same case for 'ALL TABLES Except Table' was already handled
correctly as part of that feature (Ref
-RelationBuildPublicationDesc()). The bug was only in my patch where I
missed handling it earlier.

--
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.