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

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

From
PG Bug reporting form
Date:
The following bug has been logged on the website:

Bug reference:      15546
Logged by:          Stefan Kadow
Email address:      git17@ska67.de
PostgreSQL version: 9.6.10
Operating system:   Debian 9.6 (Stretch)
Description:

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".


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

From
Tom Lane
Date:
=?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