PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 01/02/2021 09:24:30

Christof25
Membre

Problème suppression rôle

Bonjour à tous

Dans notre batch technique quotidien, nous envisageons de supprimer et de recréer plusieurs rôles (admin, lecture et écriture) afin de mettre à jour diverses évolutions sur les droits ou en cas de nouveaux objets.

Par contre, quand j'essaie de supprimer un rôle (lecture par exemple), j'ai des messages d'erreur :

psql -U $USER -d $BASE -f deleteRoleRead.sql
psql:deleteRoleRead.sql:1: ERROR:  role "roleread" cannot be dropped because some objects depend on it
DETAIL:  privileges for database base00
privileges for default privileges on new functions belonging to role usersu in schema ebaschema
privileges for default privileges on new sequences belonging to role usersu in schema ebaschema
privileges for default privileges on new relations belonging to role usersu in schema ebaschema
privileges for sequence valides_idvalide_seq
privileges for sequence userbqe_iduser_seq
privileges for sequence societe_idsoc_seq
privileges for sequence tache_idtache_seq
privileges for sequence validateur_idvalidateur_seq
privileges for sequence uti_soc_id_seq
privileges for sequence typekey_idtypekey_seq
privileges for sequence utilisateur_iduti_seq
privileges for sequence alerte_idalerte_seq
privileges for sequence sigperso_idsigperso_seq
privileges for sequence segment_idsegment_seq
privileges for sequence scanrep_idscan_seq
privileges for sequence lstmsgtache_idlsttache_seq
privileges for sequence logpost_id_seq
privileges for sequence formatm_idformatm_seq
privileges for sequence format_idformat_seq
privileges for sequence erreur_iderreur_seq
privileges for sequence compte_idcompte_seq
privileges for sequence certificat_idcert_seq
privileges for sequence message_idmsg_seq
privileges for sequence "banque_IDBANQUE_seq"
privileges for table valides
privileges for table utili
privileges for table uti_soc
privileges for table message
privileges for table format
privileges for table erreur
privileges for table banque
privileges for table validateur
privileges for table userbqe
privileges for table typekey
privileges for table tache
privileges for table sigperso
privileges for table societe
privileges for table segment
privileges for table scanrep
privileges for table lstmsgtac
privileges for table logpost
privileges for table formatm
privileges for table compte
privileges for table codeerreur
privileges for table certificat
privileges for table alerte
privileges for schema prdschema

Pour info, voici le job de création initial

CREATE ROLE roleread LOGIN;
GRANT USAGE ON SCHEMA prdschema TO roleread;
GRANT SELECT ON ALL TABLES IN SCHEMA prdschema TO roleread;
GRANT SELECT ON ALL SEQUENCES IN SCHEMA prdschema TO roleread;
GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA prdschema TO roleread;
GRANT CONNECT,TEMPORARY ON DATABASE base00 TO roleread;
ALTER DEFAULT PRIVILEGES IN SCHEMA prdschema GRANT SELECT ON TABLES TO roleread;
ALTER DEFAULT PRIVILEGES IN SCHEMA prdschema GRANT SELECT ON SEQUENCES TO roleread;
ALTER DEFAULT PRIVILEGES IN SCHEMA prdschema GRANT EXECUTE ON FUNCTIONS TO roleread;

Comment supprimer ce rôle enitèrement?

Merci de votre aide

Hors ligne

#2 01/02/2021 09:34:24

ruizsebastien
Membre

Re : Problème suppression rôle

bonjour,

essayez de faire les revoke correspondants avant la suppression du rôle.


Cordialement,

Sébastien.

Hors ligne

#3 01/02/2021 10:28:35

ruizsebastien
Membre

Re : Problème suppression rôle

sinon vous pouvez essayer la commande "drop owned by toto cascade;"

https://docs.postgresql.fr/11/sql-drop-owned.html

Mais attention aux conséquences ! à utiliser avec précautions.


Cordialement,

Sébastien.

Hors ligne

#4 01/02/2021 10:35:10

Christof25
Membre

Re : Problème suppression rôle

Bonjour

ruizsebastien a écrit :

bonjour,

essayez de faire les revoke correspondants avant la suppression du rôle.

Et ben, je n'ai pas eu le temps de répondre mais c'est une solution qui me convient!
Cela marche sans problème.

Merci ;-)

Hors ligne

Pied de page des forums