Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Printemps des cartes 2024

#1 Sun 22 May 2022 12:57

sporito
Participant actif
Date d'inscription: 4 Mar 2008
Messages: 126

Suppression de droits sur l'ensemble des éléments d'une BD

Bonjour,
Je souhaiterais supprimer l'ensemble des droits de l'utilisateur user sur l'ensemble des éléments d'une base de donnée "COMMUNE".
je suis parti sur:


REVOKE ALL PRIVILEGES ON DATABASE "COMMUNE" FROM user

La commande semble valide mais ne supprime pas l'ensemble des droits de user sur toutes les tables, de tous les schémas....

Hors ligne

 

#2 Mon 30 May 2022 14:22

tweaxy
Participant actif
Lieu: Abbeville
Date d'inscription: 27 Dec 2018
Messages: 76

Re: Suppression de droits sur l'ensemble des éléments d'une BD

Bonjour,

Il vous faut exécuter un bloc de code anonyme via DO

Code:

DO $$DECLARE r record;
BEGIN
    FOR r IN SELECT table_schema, table_name FROM information_schema.tables
             --WHERE table_type = 'VIEW' AND table_schema = 'public' -- filtre sur un type de table ou nom de schema possible ici
    LOOP
        EXECUTE 'REVOKE ALL PRIVILEGES ON ' || quote_ident(r.table_schema) || '.' || quote_ident(r.table_name) || ' FROM user';
    END LOOP;
END$$;

Info trouvée ici : https://docs.postgresql.fr/10/sql-do.html

Cordialement,
Léandre Béron

Hors ligne

 

#3 Mon 30 May 2022 16:55

sporito
Participant actif
Date d'inscription: 4 Mar 2008
Messages: 126

Re: Suppression de droits sur l'ensemble des éléments d'une BD

tweaxy a écrit:

Bonjour,

Il vous faut exécuter un bloc de code anonyme via DO

Code:

DO $$DECLARE r record;
BEGIN
    FOR r IN SELECT table_schema, table_name FROM information_schema.tables
             --WHERE table_type = 'VIEW' AND table_schema = 'public' -- filtre sur un type de table ou nom de schema possible ici
    LOOP
        EXECUTE 'REVOKE ALL PRIVILEGES ON ' || quote_ident(r.table_schema) || '.' || quote_ident(r.table_name) || ' FROM user';
    END LOOP;
END$$;

Info trouvée ici : https://docs.postgresql.fr/10/sql-do.html

Cordialement,
Léandre Béron


d'accord, merci, je vais regarder ça

Hors ligne

 

Pied de page des forums

Powered by FluxBB