On Wed, 2024-01-24 at 15:26 +0100, Daniel Gustafsson wrote:
> > On 24 Jan 2024, at 15:23, Laurenz Albe <laurenz.a...@cybertec.at> wrote:
> > 
> > On Wed, 2024-01-24 at 11:08 +0100, gp...@free.fr wrote:
> > > 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.
> > 
> > How about this:
> > 
> > diff --git a/doc/src/sgml/ddl.sgml b/doc/src/sgml/ddl.sgml
> > index 4044f0908f..44042f863c 100644
> > --- a/doc/src/sgml/ddl.sgml
> > +++ b/doc/src/sgml/ddl.sgml
> > @@ -1891,6 +1891,8 @@ ALTER TABLE <replaceable>table_name</replaceable> 
> > OWNER TO <replaceable>new_owne
> >    Superusers can always do this; ordinary roles can only do it if they are
> >    both the current owner of the object (or inherit the privileges of the
> >    owning role) and able to <literal>SET ROLE</literal> to the new owning 
> > role.
> > +   All object privileges of the old owner are transferred to the new owner
> > +   along with the ownership.
> >   </para>
> 
> Doesn't seem unreasonable to me, it won't make the docs harder to read and use
> for experienced users while it may make them easier to follow for new users.

Here is a patch for this change.

Yours,
Laurenz Albe
From 3685b2ce9d921857d629bd20d49b1acfd5f01576 Mon Sep 17 00:00:00 2001
From: Laurenz Albe <laurenz.a...@cybertec.at>
Date: Fri, 26 Jan 2024 12:01:37 +0100
Subject: [PATCH v1] Document effects of ownership change on privileges

Privileges have always been transferred along with the ownership,
but it is a good idea to document that.
Per complaint by Gilles Parc.

Author: Laurenz Albe
Reviewed-by: Daniel Gustafsson, David G. Johnston
Discussion: https://postgr.es/m/2023185982.281851219.1646733038464.JavaMail.root%40zimbra15-e2.priv.proxad.net
---
 doc/src/sgml/ddl.sgml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/doc/src/sgml/ddl.sgml b/doc/src/sgml/ddl.sgml
index fc03a349f0..835ebd5a67 100644
--- a/doc/src/sgml/ddl.sgml
+++ b/doc/src/sgml/ddl.sgml
@@ -1893,6 +1893,8 @@ ALTER TABLE <replaceable>table_name</replaceable> OWNER TO <replaceable>new_owne
    Superusers can always do this; ordinary roles can only do it if they are
    both the current owner of the object (or inherit the privileges of the
    owning role) and able to <literal>SET ROLE</literal> to the new owning role.
+   All object privileges of the old owner are transferred to the new owner
+   along with the ownership.
   </para>
 
   <para>
-- 
2.43.0

Reply via email to