| From: | Isaac Morland <isaac(dot)morland(at)gmail(dot)com> |
|---|---|
| To: | Jelte Fennema-Nio <postgres(at)jeltef(dot)nl> |
| Cc: | Greg Sabino Mullane <htamfids(at)gmail(dot)com>, Peter Eisentraut <peter(at)eisentraut(dot)org>, Andrei Lepikhov <lepihov(at)gmail(dot)com>, Jack Bonatakis <jack(at)bonatak(dot)is>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, Bruce Momjian <bruce(dot)momjian(at)enterprisedb(dot)com>, Andres Freund <andres(at)anarazel(dot)de> |
| Subject: | Re: Read-only connection mode for AI workflows. |
| Date: | 2026-03-23 11:04:18 |
| Message-ID: | CAMsGm5fuHSvjCYuR3qyFWkbQGMjT2AS7ZJ8rrU+MjT7YzO2e_A@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Mon, 23 Mar 2026 at 05:10, Jelte Fennema-Nio <postgres(at)jeltef(dot)nl> wrote:
> On Fri, 20 Mar 2026 at 13:33, Greg Sabino Mullane <htamfids(at)gmail(dot)com>
> wrote:
> > I'm a +1 to the cluster-wide change, and a -1 to the per-connection idea
> that started this thread, because I still don't see the need for it when we
> have an existing roles/permissions system that gets the job done. You want
> your untrusted agent to read from your database? Create a specific role for
> that. If our existing per-role access controls are not sufficient, improve
> them.
>
> I think they are insufficient for two reasons:
> 1. Afaik there's no simple way to take an existing role and create a
> new role from it that only has the read permissions of the original
> role. Especially if you want those permissions to stay in sync between
> the roles.
>
I don't think it's possible even in principle. As soon as the supposedly
read-only role calls a security definer function, the session is no longer
operating with the permissions of the supposedly read-only role.
I think what is wanted is, in effect, very close to the ability to pretend
that one is connected to a replica rather than the primary, What is
requested already exists in a sense through the use of replication, but
only at the entire instance level, not one session. In other words, what
you suggest below, although it might be interesting to think about whether
there are any other settings that would be useful to lock down in this
fashion:
I think the best way to address this thread is to have a way to "lock"
> settings down, like discussed in this thread[1]. Then a user could
> simply run the sql to lock down the transaction_read_only and get a
> read-only connection that it could give to the LLM.
>
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Ranier Vilela | 2026-03-23 11:12:08 | Re: Avoid multiple calls to memcpy (src/backend/access/index/genam.c) |
| Previous Message | Ashutosh Sharma | 2026-03-23 10:58:21 | Re: synchronized_standby_slots behavior inconsistent with quorum-based synchronous replication |