Bonjour,
voici mon problème : j'ai une base pour laquelle j'ai créé plusieurs schemas, chaque schéma contenant une ou plusieurs tables.
Je souhaite créer un role qui regrouperait un ensemble d'utilisateurs qui auraient uniquement le droit de consulter ces tables de données mais aussi le droit de se créer des propres tables (qui serviraient pour stocker temporairement des données extraites par exemple).
Pour cela j'ai d'abord créé un role "utilisateurs", puis un schéma que j'appelle "schutilisateurs" via la commande "create schema schutilisateurs authorization utilisateurs;"
Jusque là tout va bien ; j'ai ensuite donné les droits d'accès aux schémas contenant les tables à consulter, et les droits de select sur ces mêmes tables au role "utilisateurs"(typiquement "grant usage on schema schema1 to utilisateurs" et "grant select on table1 to utilisateurs" par exemple.
Jusque là tout va bien.
Ensuite, j'ai créé plusieurs utilisateurs qu'on va appeler util1, util2 et util3 et qui appartiennent à ce groupe "utilisateurs. Je précise que je modifie la variable search_path ensuite pour ces utilisateurs.
Mon problème : lorsque je me connecte en psql avec le user util1 et que je crée une table matable_util1, aucun problème.
Si ensuite je me connecte avec le user util2 et que je fais "drop table matable_util1" la table est supprimée! C'est cela qui m'échappe...
Pour résumer j'ai des users qui appartiennent à un groupe et qui peuvent créer des tables dans un même schéma, est-ce normal qu'ils aient les droits de suppression sur les tables des uns et des autres??
Merci pour votre aide
Partager