Re: Review items for EXCEPT TABLE publication

From: vignesh C <vignesh21(at)gmail(dot)com>
To: "Hayato Kuroda (Fujitsu)" <kuroda(dot)hayato(at)fujitsu(dot)com>
Cc: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Review items for EXCEPT TABLE publication
Date: 2026-09-10 10:25:58
Message-ID: CALDaNm0WJ4xu_w3tSgz=cGTiL5_Xk0xh6_0xqjeaZggFS=Qzvg@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, 10 Sept 2026 at 15:11, Hayato Kuroda (Fujitsu)
<kuroda(dot)hayato(at)fujitsu(dot)com> wrote:
>
> Dear Vignesh,
>
> > I ran claude to identify issues related to the EXCEPT TABLE
> > publication changes.
>
> Very nice. I think this should be part of the community's routine.
>
> > Finding #1: ALTER PUBLICATION race
> > Finding #2: ALTER PUBLICATION validates against pre-lock state
>
> To confirm, why can't we acquire the lock at the beginning of AlterPublication()
> and re-check the publication state? For now AlterPublicationOptions() acquires
> the AccessShareLock only if the row filter and column list may be specified, but
> it could cause elog(ERROR, "tuple concurrently updated") error. It cannot be
> translated thus may be surprising. Instead, can we obtain AccessExclusive
> (or ShareUpdateExclusiveLock, which can block each other) at the beginning to
> block concurrent operations?

Thanks kuroda-san. I have addressed this in the v2 version patch
attached, however I did not change the lock mode and used the existing
AccessShareLock mode itself as I felt that should suffice. This
approach also addresses Chao's comments from [1].
[1] - https://www.postgresql.org/message-id/23BC758C-7DBC-4270-9232-2CC09C3679FB%40gmail.com

Regards,
Vignesh

Attachment Content-Type Size
v2-0001-Fix-ALTER-PUBLICATION-race-with-concurrent-SET-AL.patch application/octet-stream 3.4 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Jeevan Chalke 2026-09-10 10:41:55 Re: postgres_fdw: push down FETCH FIRST .. WITH TIES when server version allows
Previous Message Dean Rasheed 2026-09-10 10:24:37 Re: SSI: ON CONFLICT DO SELECT takes no predicate lock on the returned row