Re: BUG #15546: alter large object n owner to new owner

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: git17@ska67.de
Cc: pgsql-bugs@lists.postgresql.org
Date: 2018-12-11T16:08:29Z
Lists: pgsql-bugs
=?utf-8?q?PG_Bug_reporting_form?= <noreply@postgresql.org> writes:
> Documentation describes:
> ALTER LARGE OBJECT large_object_oid OWNER TO { new_owner | CURRENT_USER |
> SESSION_USER }
> You must be superuser or owner of the large object to use ALTER LARGE
> OBJECT.

> If you want to use this statement for assigning a "new owner", you have to
> be a superuser.
> If you are only the owner of the large object, you receive an error message
> Postgresql-Error 42501 saying that you must be in the role of the "new
> owner".

Yeah, the ALTER LARGE OBJECT page could use improvement.  The correct
general rule is explained in section 5.6:

    An object can be assigned to a new owner with an ALTER command of the
    appropriate kind for the object, e.g. ALTER TABLE. Superusers can
    always do this; ordinary roles can only do it if they are both the
    current owner of the object (or a member of the owning role) and a
    member of the new owning role.

Most other ALTER-something pages have wording like "To alter the owner,
you must also be a direct or indirect member of the new owning role",
but this seems to have been missed in the ALTER LARGE OBJECT docs.

			regards, tom lane


Commits

  1. Doc: improve documentation about ALTER LARGE OBJECT requirements.