Denis BUCHER a écrit :
> Tom Lane a écrit :
>> "Raymond O'Donnell" <r...@iol.ie> writes:
>>> On 12/09/2009 16:44, Denis BUCHER wrote:
>>>> ERROR: must be the owner of the mytable relation
>>> The clue is in the error message :-) .... GRANTing ALL doesn't make them
>>> the owner of the object as well.
>>> For that, you have to do something like
>>>   ALTER TABLE mytable OWNER TO mycolleague;
>> What might be more practical is to create a group role that actually
>> owns the table, and make everyone who needs to do this sort of thing
>> a member of that group.
>>
>>      CREATE ROLE mytable_owner;
>>      ALTER TABLE mytable OWNER TO mytable_owner;
>>      GRANT mytable_owner TO myself, mycolleague, ... ;
>>
>> I highly recommend reading the GRANT command reference page.
>>
>>                      regards, tom lane
> 
> It's strange but after having tried it, it doesn't work ?
> 
> pg_dump says :
> 
> CREATE ROLE tableowner;
> ALTER ROLE tableowner WITH NOSUPERUSER INHERIT NOCREATEROLE NOCREATEDB
> NOLOGIN;
> GRANT tableowner TO mycolleague GRANTED BY postgres;
> GRANT tableowner TO postgres GRANTED BY postgres;
> 
> My table seems to be correct :
> 
> bw_rma=# \dt abc.testtable
>             Liste des relations
>  Schéma |    Nom     | Type  | Propriétaire
> --------+------------+-------+--------------
>  abc    | testtable  | table | tableowner
> (1 ligne)
> 
> When I login as "mycolleague" :
> ALTER TABLE abc.testtable ADD COLUMN field integer;
> 
> What is wrong in what I do ?

Ok I found the solution myself ;-))

ALTER ROLE mycolleague INHERIT;

That's all ;-))


Denis

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to