=?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