Re: Drop user y Grantor <> Owner !

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Stephen Amell <StephenAmell(at)inbox(dot)lv>
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-18 16:07:02
Message-ID: 20171218160702.w24qcw5bo7syasp4@alvherre.pgsql
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

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.

> > > 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.

--
Álvaro Herrera https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Celvin Rivas 2017-12-18 17:45:26 Extraer backup de la rama de directorios
Previous Message Stephen Amell 2017-12-18 15:56:16 Re: Drop user y Grantor <> Owner !