Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 15/02/2019 16:27:34
- sihem_info
- Membre
ERREUR: doit être le propriétaire de la table
bonjour a tous
je chercher a donner le droit pour mon user de telle soit autonome sur une base de Test
j'ai crée l'user avec ce privilège
ALTER ROLE "Dev" WITH LOGIN;
GRANT USAGE ON SCHEMA public TO Dev;
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO Dev;
lorsque le rôle dev a besoin de faire un drop table il reçoit ce message
production=> drop table actor;
ERREUR: doit être le propriétaire de la table actor
Qui a une idée comment je peut corriger cette erreur
Merci pour vos aides
Hors ligne
#2 15/02/2019 20:22:54
- rjuju
- Administrateur
Re : ERREUR: doit être le propriétaire de la table
GRANT ALL ne donnera que les privilges de type DML (et truncate probablement). Si vous voulez que l'utilisateur puisse effectuer également des commandes DDL, il faut qu'il soit propriétaire des objets et ait le privilege CREATE sur la base de données (et les schémas existants), ou qu'il soit propriétaire de la base. En production, il faut bien évidemment faire bien plus attention aux privilèges que vous donnez.
Julien.
https://rjuju.github.io/
Hors ligne
#3 16/02/2019 14:37:24
- dverite
- Membre
Re : ERREUR: doit être le propriétaire de la table
Pour que plusieurs utilisateurs puissent faire des DROP sur des objets, il faudrait que les objets appartiennent à un rôle dont ces utilisateurs sont membres. Par exemple:
CREATE ROLE createur;
GRANT createur TO user1, user2, user3;
si user1 veut créer une table, il fait
SET ROLE createur;
CREATE TABLE nomdetable(....) -- la table appartiendra au rôle "createur"
RESET role;
Si ensuite user2 veut détruire cette table, il a le droit de faire
DROP TABLE nomdetable;
@DanielVerite
http://blog-postgresql.verite.pro/
Hors ligne
Pages : 1