On Tue, Mar 8, 2022 at 7:39 AM Bruce Momjian <br...@momjian.us> wrote:

> On Tue, Mar  8, 2022 at 10:50:38AM +0100, gp...@free.fr wrote:
> >
> > Hello,
> >
> > for this "ALTER DATABASE" form, it should be mentioned that after
> execution of the command,
> > the old database owner loses all his privileges on it (even connection)
> although it might
> > still owns schemas or objects (tables, index,...) inside it.
> >
> > Thanks in advance to add this important precision.
>
> Uh, the original owner is not the owner anymore, so why would they
> assume they can reconnect, unless there is some other permission
> specified for them.
>
>
Agreed.  The proposed solution simply addresses a single symptom of what
may be a misunderstanding about how the system works (i.e., that an object
can only have a single owner, and, each privilege is specific to an object
and does not confer any implied privileges on container objects - schemas
and databases namely).

If there is a suggestion to improve the core misunderstandings that is
something to consider.  Ideally in a central place about permissions in
general and not in the specific ALTER DATABASE command.

Given that the default behavior of PostgreSQL is to grant CONNECT via
PUBLIC, removing ownership of a database from a role does not, by default,
remove their connect privilege.

David J.

Reply via email to