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

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: git17(at)ska67(dot)de
Cc: pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: BUG #15546: alter large object n owner to new owner
Date: 2018-12-11 16:08:29
Message-ID: 10843.1544544509@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

=?utf-8?q?PG_Bug_reporting_form?= <noreply(at)postgresql(dot)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

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message PG Bug reporting form 2018-12-12 00:07:09 BUG #15547: default timezone on servers running while time changed from PDT to PST reverting to UTC.
Previous Message Tom Lane 2018-12-11 15:23:46 Re: BUG #15545: wrong calculation