From: | Robert Haas <robertmhaas(at)gmail(dot)com> |
---|---|
To: | Ashutosh Sharma <ashu(dot)coek88(at)gmail(dot)com> |
Cc: | Andrew Dunstan <andrew(at)dunslane(dot)net>, Andres Freund <andres(at)anarazel(dot)de>, Tomas Vondra <tomas(at)vondra(dot)me>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Orphaned users in PG16 and above can only be managed by Superusers |
Date: | 2025-02-04 17:23:59 |
Message-ID: | CA+TgmoYWvm5H=FtZByD+MoTzOamPNjL0AsiHjdzEen8i91ODkg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Thu, Jan 30, 2025 at 8:45 AM Ashutosh Sharma <ashu(dot)coek88(at)gmail(dot)com> wrote:
> Imagine a superuser creates role u1. Since the superuser is creating
> u1, it won't have membership in any role. Now, suppose u1 creates a
> new role, u2. In this case, u1 automatically becomes a member of u2
> with the admin option. However, at this point, there is no dependency
> between u1 and u2, meaning that dropping u2 shouldn't impact u1. Now,
> if u2 creates yet another role, u3, that's when u1 will start
> depending on u2. This is because if u2 were dropped, u1 would lose the
> ability to administer u3. At this stage, a dependency between u1 and
> u2 is recorded.
This seems to me to be assuming that who can administer which roles
won't change, but it can. The superuser is free to grant the ability
to administer u3 to some new user u4 or an existing user such as u1,
and is also free to remove that ability from u2.
I think if you want to legislate that attempting to drop u2 fails, you
have to do that by testing what the situation is at the time of the
drop command, not by adding dependencies in advance.
--
Robert Haas
EDB: http://www.enterprisedb.com
From | Date | Subject | |
---|---|---|---|
Next Message | Melanie Plageman | 2025-02-04 17:44:22 | Re: Eagerly scan all-visible pages to amortize aggressive vacuum |
Previous Message | Robert Haas | 2025-02-04 17:17:35 | Re: Eagerly scan all-visible pages to amortize aggressive vacuum |