Re: Drop user y Grantor <> Owner !

From: Stephen Amell <StephenAmell(at)inbox(dot)lv>
To: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
Cc: "pos >> pgsql-es-ayuda(at)lists(dot)postgresql(dot)org" <pgsql-es-ayuda(at)lists(dot)postgresql(dot)org>
Subject: Re: Drop user y Grantor <> Owner !
Date: 2017-12-19 13:12:11
Message-ID: 074d217a-5336-8362-2cfd-ad997827a31a@inbox.lv
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On 2017-12-18 13:07, Alvaro Herrera wrote:
> Hola Stephen
>
> Stephen Amell escribió:
>
>> On 2017-12-18 12:27, Alvaro Herrera wrote:
>>> Stephen Amell escribió:
>>>> Hola, Alvaro
>>>>
>>>> Si, lo primero que hice fue el reassign, y no da error, pero luego tiro el
>>>> drop y pincha.
>> Si, por pincha, quiero decir da error.
> ok :-)
>
>>> ¿qué quieres decir "pincha"? REASSIGN no modifica grantors ni ACLs --
>>> para eso existe DROP OWNED BY.
>> No alcanzo a entender el "DROP OWNED BY" esto ¿me borraría los objetos
>> también? ¿o se los asignaría a postgres por decir algo?
> DROP OWNED BY elimina (drop) todos los objetos cuyo dueño es el usuario
> mencionado. Si el usuario mencionado aparece en algún ACL, el objeto no
> es borrado sino que únicamente el ACL se elimina.
Ok, es buena, pero en mi defensa voy a criticar el reassign, debería
reasignarlo para no tener que borrarlo y volver a crearlo.
>
>>>> Encontré que el valor esta en en la tabla pg_catalog.pg_default_acl, estoy
>>>> tratando de editarla a ver si puedo cambiarlo directamente.
>>> Modificar catálogos de sistema a mano es seguro de causar problemas
>>> después, si es que llegan a quedar referencias al rol en pg_shdepend.
>> Tal cual lo dijiste, cambie los registros de pg_shdepend tambien y ahi salio
>> el drop role sin problemas
>>
>> update pg_catalog.pg_shdepend set refobjid = 10 where refobjid =
>> 293894::oid;
> Quizás qué efectos va a tener esto cuando quieras borrar el esquema
> master ... es posible que no pase nada malo. ¿Se modificaron más
> registros, o solamente uno? ¿Si más de uno, sabes cuáles?
>
>> Entonces, solo me queda la duda, ¿hice mal al resolverlo via modificar las
>> tablas del sistema, pero cual seria la forma de hacerlo correctamente?
> IMO sí, hiciste mal -- toda manipulación directa de catálogos es
> potencialmente dañina. La forma correcta es DROP OWNED BY.
>
Coincido, con lo de no tocar las tablas del sistema, pero insisto con la
parte de la critica al reassing, la idea es reasignar todo y no andar
borrando y creando. Despues de todo, si el "drop role" hace el control,
no seria mucho mas pasarlo al reasign y que actue sobre los acls. no?

En fin, ya paso mi urgencia, y te super agradezco tu ayuda ayer!
Mil gracias again!

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message motum hesa 2017-12-19 15:48:39 Error con logical replication
Previous Message Felipe Guzman 2017-12-19 13:11:46 Re: Extraer backup de la rama de directorios