Re: Support EXCEPT for TABLES IN SCHEMA publications

From: Nisha Moond <nisha(dot)moond412(at)gmail(dot)com>
To: shveta malik <shveta(dot)malik(at)gmail(dot)com>
Cc: Peter Smith <smithpb2250(at)gmail(dot)com>, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>, Zsolt Parragi <zsolt(dot)parragi(at)percona(dot)com>, pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: Support EXCEPT for TABLES IN SCHEMA publications
Date: 2026-07-02 04:51:18
Message-ID: CABdArM4PzvWHyqG-tdZpf9U+0_-23n8NXJKAPW+_NADOqU42xA@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Jul 1, 2026 at 3:46 PM shveta malik <shveta(dot)malik(at)gmail(dot)com> wrote:
>
> On Wed, Jul 1, 2026 at 3:37 PM Nisha Moond <nisha(dot)moond412(at)gmail(dot)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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Ashutosh Bapat 2026-07-02 04:59:47 Re: GetBufferDescriptor() being called for local buffers from MarkBufferDirtyHint()
Previous Message Pavel Stehule 2026-07-02 04:50:21 Re: proposal - queryid can be used as filter for auto_explain