From: | Kirill Kravtsov <kravtsov(dot)k(at)gmail(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | pgsql-bugs(at)lists(dot)postgresql(dot)org |
Subject: | Re: BUG #17487: Parallel execution fails when original user is removed |
Date: | 2022-05-19 23:08:06 |
Message-ID: | CAE5ychFJgK5+H7oy5v2Tr7EPdRmsUwpNe_bLONsmqMr5ZAtsKQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
Hey Tom,
Thanks for the response. I agree that this implementation looks shady, and
I would rather have postgres to disallow role drops in such situations.
Currently, the same behaviour can be observed even without the "proxy" role
that I used in my example. I think that would be consistent with the way
SQLServer/Oracle deals with it - not allowing the context to be removed
while in use.
Kirill.
On Thu, May 19, 2022 at 1:47 PM Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> PG Bug reporting form <noreply(at)postgresql(dot)org> writes:
> > We're using temporary credentials to access the DB. The temporary
> > credentials are granted a role and automatically become that role on
> > connect. As soon as temporary credential is removed while the connection
> is
> > still alive, any regular query would continue to work, however, a
> parallel
> > query would cause an error:
> > ERROR: role with OID XXXXXX does not exist
> > CONTEXT: parallel worker
>
> I don't think this is particularly a bug. You are relying on an
> undocumented and un-guaranteed implementation artifact that it's
> possible to drop a role at all while it's still in use in some
> session. If we were to make any effort in this area, the end result
> would certainly be that the DROP ROLE would be rejected, not that the
> parallel query case would start to work. One reason why we'd want
> to go in that direction is that there are almost certainly many other
> cases where such an "orphaned" session misbehaves.
>
> (Doing that has in fact been discussed, but nothing's been done
> about it so far AFAIK.)
>
> regards, tom lane
>
From | Date | Subject | |
---|---|---|---|
Next Message | Suralkar, Yogendra (Yogendra) | 2022-05-20 05:53:11 | Unable to connect to PostgreSQL DB as root user when private key is owned by root with permission 640 |
Previous Message | Tom Lane | 2022-05-19 20:47:56 | Re: BUG #17487: Parallel execution fails when original user is removed |