Anomalie #269
fermé[Ne pas fermer SVP] echec affecter g_admin membre du role g_pect
Ajouté par jean-francois PION il y a plus de 4 ans. Mis à jour il y a plus de 4 ans.
100%
Description
au paragraphe VII.3.9, le groupe du pôle étude g_pect s'est bien créé - mais losqu'on veut rendre g_admin membre de ce rôle, avec la commande GRANT g_pect TO g_admin ; il y a le message d'erreur " error:erreur: doit avoir l'option admin sur le rôle g_pect
Fichiers
connexion_etienne_lousteau.png (70,9 ko) connexion_etienne_lousteau.png | jean-francois PION, 05/06/2020 16:06 |
Mis à jour par alain ferraton il y a plus de 4 ans
Avez-vous bien exécuté dans l'éditeur sql courant ? :
SET ROLE g_admin ;
Mis à jour par jean-francois PION il y a plus de 4 ans
lorsque je lance la commande GRANT g_pect TO g_admin à partir de geobase_snum de mon localhost et non de geobase_snum de ma connection etienne.lousteau celà marche - j'ai fait ainsi pour tous les paragraphes suivants, avec succés - jfp
Mis à jour par jean-francois PION il y a plus de 4 ans
j'avais aussi fait avec succés SET ROLE g_admin à partir de ma connection etienne.lousteneau
Mis à jour par Leslie Lemaire il y a plus de 4 ans
Je n'arrive pas à reproduire le problème. Est-ce que vous pourriez (re)lancer les requêtes suivantes sur la connexion etienne.lousteau et m'indiquer le résultat :
1. à titre de contrôle :SET ROLE g_admin ;
GRANT g_pect TO g_admin ;
2.SELECT rolcreaterole FROM pg_roles WHERE rolname = 'g_admin' ;
Mis à jour par jean-francois PION il y a plus de 4 ans
pour la première commande : NOTICE: le rôle « g_admin » est déjà un membre du rôle « g_pect » GRANT ROLE Requête exécutée avec succès en 56 msec. - en effet, je l'avais créée sans problème entre temps sans passer par la connection etienne.lousteau mais en la lançant à partir de la base geobase_snum de mon localhost
pour la deuxième commande : rolecreaterole boolean true
Mis à jour par Leslie Lemaire il y a plus de 4 ans
j'oubliais ce détail.
Dans ce cas, pourriez-vous plutôt tester (toujours sur la connexion etienne.lousteau) :SET ROLE g_admin ;
REVOKE g_pect FROM g_admin ;
puis, si ça a marché, relancer :GRANT g_pect TO g_admin ;
?
Mis à jour par jean-francois PION il y a plus de 4 ans
la première commande a marché
la deuxième a aussi marché avec le message GRANT ROLE
Mis à jour par Leslie Lemaire il y a plus de 4 ans
Merci beaucoup pour votre patience !
Tout semble donc en ordre du côté de l'extension, mais ça ne nous dit pas ce qui s'est passé lors de votre essai de ce matin... Est-ce que vous aviez bien lancé toutes les requêtes de cette partie à la suite, sans changer de fenêtre de requête ?
Très concrètement, la commande CREATE ROLE g_pect ;
et la commande GRANT g_pect TO g_admin ;
requièrent toutes les deux exactement la même chose : être lancées par un rôle avec l'attribut CREATEROLE (la deuxième peut aussi être lancée par un membre de g_pect avec option ADMIN, comme le suggère le message d'erreur, mais ce n'est pas le cas ici). g_admin a CREATEROLE, mais cet attribut n'est pas automatiquement héritable - c'est la raison pour laquelle etienne.lousteau doit endosser g_admin avec un SET ROLE g_admin
avant d'exécuter les commandes.
Mis à jour par jean-francois PION il y a plus de 4 ans
- Fichier connexion_etienne_lousteau.png connexion_etienne_lousteau.png ajouté
voilà l'image écran de la connexion (etienne.lousteau)à partir de laquelle j'avais lancé les requêtes - j'avoue que je ne comprends pas trop cet intérêt de créer une connexion par "clic droit sur serveurs dans l'arborescence, puis serveur > créer serveur"(VII.3.8) - pouvez-vous me donner une explication? cordialement-jfp
Mis à jour par Leslie Lemaire il y a plus de 4 ans
Si vous avez lancé toutes les requêtes à la suite dans un même onglet de l'éditeur de requêtes (et sans faire de (RE)SET ROLE au milieu), alors je ne vois pas ce qui a pu se passer.
SET ROLE g_admin ;
CREATE ROLE g_pect ;
COMMENT ON ROLE g_pect IS 'Membres du Pôle Étude et Connaissances Territoriales' ;
GRANT g_pect TO g_admin ;
Nous allons attendre de voir si d'autres sont confrontés au même problème.
Quant à la connexion... L'objectif était de se reconnecter à la base avec un autre rôle que le super-utilisateur. Est-ce que vous voyez une autre façon de le faire ?
Mis à jour par Leslie Lemaire il y a plus de 4 ans
- Sujet changé de echec affecter g_admin membre du role g_pect à [Ne pas fermer SVP] echec affecter g_admin membre du role g_pect
- Statut changé de Nouveau à Résolu
Mis à jour par jean-francois PION il y a plus de 4 ans
effectivement, le mieux est d'attendre pour voir si d'autres testeurs sont confrontés au même problème - quand à la connexion, vous avez raison - je suis surtout habitué à créer mes connexions via qgis et non via pgadmin(IV)
Mis à jour par Leslie Lemaire il y a plus de 4 ans
Comme tout le monde. Comme dans pgAdmin il n'est pas nécessaire de créer une connexion par base, on en configure généralement une lorsque le serveur est installé (au pire une pour le super-utilisateur si elle n'existe pas déjà et une pour un rôle de connexion individuel lambda) et on ne revient jamais dessus. Alors que dans QGIS, comme on doit le refaire à chaque nouvelle base...
Mis à jour par Leslie Lemaire il y a plus de 4 ans
- Statut changé de Résolu à Fermé
- Assigné à changé de alain ferraton à Leslie Lemaire
- Version cible mis à documentation v2
- % réalisé changé de 0 à 100
Changement de doctrine dans la nouvelle version de la documentation : il est maintenant préconisé d'attribuer directement CREATEROLE aux rôles de connexion et c'est ce qui est appliqué dans l'exemple de la partie VII. Dès lors il n'est plus nécessaire de lancer le SET ROLE g_admin
qui posait question.