Re: Orphaned users in PG16 and above can only be managed by Superusers

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

In response to

Browse pgsql-hackers by date

  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