Saltar al contenido

No se puede descartar el rol de PostgreSQL. Error: `no se puede descartar porque algunos objetos dependen de él`

Si te encuentras con algo que no comprendes puedes dejarlo en la sección de comentarios y te responderemos tan rápido como podamos.

Solución:

DROP USER (o DROP ROLElo mismo) no puede continuar mientras el rol aún posee algo o tiene privilegios otorgados en otros objetos.

Deshágase de todos los privilegios con DROP OWNED(que no es demasiado obvio por la redacción). El manual:

[…] También se revocarán todos los privilegios otorgados a los roles dados en los objetos de la base de datos actual y en los objetos compartidos (bases de datos, espacios de tablas).

Entonces, la secuencia confiable de comandos para abandonar un rol es:

REASSIGN OWNED BY ryan TO postgres;  -- or some other trusted role
DROP OWNED BY ryan;
-- repeat both in ALL databases where the role owns anything or has any privileges!

DROP USER ryan;
  • REASSIGN OWNED cambia la propiedad de todos los objetos que actualmente pertenecen al rol.
  • DROP OWNED entonces solo revoca privilegios (propiedades fuera del camino).

Alternativamente, puede omitir REASSIGN OWNED para en su lugar soltar todos los objetos propiedad del usuario. (¡¿Está seguro?!)

Relacionado:

  • Eliminar un rol con privilegios (con una función para generar comandos para todos los DB relevantes)
  • Encuentre objetos vinculados a un rol de PostgreSQL

Lo que funcionó para mí fue 1) Conectarse a la base de datos

c mydatabase

2) Reasignación de propiedad

REASSIGN OWNED BY ryan TO ;

O/y simplemente eliminando el objeto

DROP OWNED BY ryan;

3) Ejecutando REVOKE PRIVILEGES

REVOKE ALL PRIVILEGES ON ALL TABLES IN SCHEMA public FROM ryan;
REVOKE ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public FROM ryan;
REVOKE ALL PRIVILEGES ON ALL FUNCTIONS IN SCHEMA public FROM ryan;

4) Dejar caer al usuario

DROP USER ryan;

PD: Es posible que no necesite ejecutar los pasos 2 y 3, solo uno de los dos pasos suele ser suficiente.

Sección de Reseñas y Valoraciones

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *