On Wed, Aug 9, 2017 at 3:00 PM, David G. Johnston <
david.g.johns...@gmail.com> wrote:

> On Wed, Aug 9, 2017 at 11:30 AM, Melvin Davidson <melvin6...@gmail.com>
> wrote:
>
>>
>>
>> On Wed, Aug 9, 2017 at 1:56 PM, David G. Johnston <
>> david.g.johns...@gmail.com> wrote:
>>
>>> On Wed, Aug 9, 2017 at 10:37 AM, Tom Lane <t...@sss.pgh.pa.us> wrote:
>>>
>>>> Scott Marlowe <scott.marl...@gmail.com> writes:
>>>> > Seems like something that should be handled by alter doesn't it?
>>>>
>>>> I have some vague memory that we intentionally didn't implement
>>>> ALTER EXTENSION OWNER because we were unsure what it ought to do
>>>> about ownership of objects belonging to the extension.  If the answer
>>>> is "nothing" then it wouldn't be hard to add such a statement.
>>>>
>>>
>>> The documented contract of CREATE EXTENSION(1)/ALTER EXTENSION ADD
>>> MEMBER(2) requires that the extension owner and the owner of the member
>>> objects be one-and-the-same (I suppose the inclusion of DROP in (2) makes
>>> this debatable).  I do not know what happens today if someone tries to
>>> ALTER OBJECT SET OWNER on a member object to a role other than the owner of
>>> the extension.  From the docs I'd suggest that it should fail.  Likewise,
>>> ALTER EXTENSION OWNER should cascade to all members - which (3), and normal
>>> dependency tracking, seems to make straight-forward.
>>>
>>> 1>The user who runs CREATE EXTENSION becomes the owner of the extension
>>> for purposes of later privilege checks, as well as the owner of any objects
>>> created by the extension's script.
>>>
>>> 2>You must own the extension to use ALTER EXTENSION. The ADD/DROP forms
>>> require ownership of the added/dropped object as well.
>>>
>>> 3>CREATE EXTENSION additionally records the identities of all the
>>> created objects, so that they can be dropped again if DROP EXTENSION is
>>> issued.
>>>
>>> David J.
>>>
>>>
>>
>>
>> *David,*
>>
>> *The problem is, The current owner of the extension needs to be dropped.
>> No one should have to jump through hoops*
>> *just to be able to do that. There is definitely a need for an*
>>
>> *ALTER EXTENSION name OWNER TO new_owner.*
>> *As Tom Lane has already pointed out, it would not be hard to add that.*
>>
>>
> ​I'm not sure what it is you think I'm missing here.  My only point was
> I'm tending to think that "nothing", while workable, diverges from what I
> would expect - that an extension and all of its member objects should, at
> all times, share a common owner.  I don't imagine that either definition
> would be abnormally difficult to implement for v11.
>
> I'm am wondering whether "REASSIGNED OWNED" needs fixing as well...since
> that command is specifically designed to handle this use case.
>
> https://www.postgresql.org/docs/9.6/static/sql-reassign-owned.html
> ​
> ​
>
> D
> ​avid J.
> ​
>

*>I'm am wondering whether "REASSIGNED OWNED" **needs fixing as well*

*Possibly, but as the op is on 9.3, it is not available to him.*
*I would also argue that since* *"OWNER TO new_owner" is available in all
other ALTER object statements, it is an omission and should be*
*included for extenstions as well..*

-- 
*Melvin Davidson*
I reserve the right to fantasize.  Whether or not you
wish to share my fantasy is entirely up to you.

Reply via email to