Re: pgsql: postgres_fdw: Inherit the local transaction's access/deferrable
Etsuro Fujita <etsuro.fujita@gmail.com>
From: Etsuro Fujita <etsuro.fujita@gmail.com>
To: Fujii Masao <masao.fujii@oss.nttdata.com>
Cc: Michael Paquier <michael@paquier.xyz>,
Etsuro Fujita <efujita@postgresql.org>, pgsql-hackers@lists.postgresql.org
Date: 2026-03-05T00:00:55Z
Lists: pgsql-hackers
On Sun, Feb 15, 2026 at 5:40 PM Etsuro Fujita <etsuro.fujita@gmail.com> wrote: > On Wed, Jun 4, 2025 at 1:15 PM Fujii Masao <masao.fujii@oss.nttdata.com> wrote: > > I agree this could be considered a fix if the new behavior has been > > clearly explained in the documentation from before or based on > > standards like SQL/MED. But if that's not the case, it seems more > > like a behavior change. In that case, I think it should wait for v19 > > and be applied only after reaching consensus. Some systems might > > rely on the previous behavior. > > > > By the way, if a read-only transaction on the local server is meant > > to block all write operations on the remote server, this patch alone > > might not be sufficient, for example, that read-only transaction can > > invoke a login trigger on the remote server and it could still > > perform writes. > > This patch 1) modifies postgres_fdw so that it opens remote > transactions in read-only mode if the corresponding local transaction > is read-only, as noted in the documentation, but 2) keeps the existing > behavior of login triggers that they can write even if the invoking > transaction is read-only. So declaring a transaction as read-only on > the local side doesn't mean it blocks all write operations on the > remote side; it still allows login triggers invoked on the remote side > to write. Considering typical use-cases of such triggers, this seems > reasonable to me. I think it might be a good idea to add a note about > it to the documentation, though. > > I'd like to re-propose this patch for v19, as mentioned in this thread. I posted a new version of the patch to the -hackers mailing list [1], which includes the note mentioned above. It would be great if I got feedback from you. Best regards, Etsuro Fujita [1] https://www.postgresql.org/message-id/CAPmGK14ZTHRGPprEhzEe2TJxaCcjNVeWw6tue_gqp%3D9DzqYnMA%40mail.gmail.com
Commits
-
postgres_fdw: Inherit the local transaction's access/deferrable modes.
- de28140ded8d 19 (unreleased) landed
- e5a3c9d9b5ce 18.0 cited
-
Revert "postgres_fdw: Inherit the local transaction's access/deferrable modes."
- 7d4667c6203d 18.0 landed