Projet

Général

Profil

Actions

Anomalie #269

fermé

[Ne pas fermer SVP] echec affecter g_admin membre du role g_pect

Ajouté par jean-francois PION il y a presque 4 ans. Mis à jour il y a presque 4 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
Début:
05/06/2020
Echéance:
% réalisé:

100%

Temps estimé:
# ref:

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 presque 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 presque 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 presque 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 presque 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 presque 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 presque 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 presque 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 presque 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 presque 4 ans

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 presque 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 presque 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 presque 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 presque 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 presque 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.

Actions

Formats disponibles : Atom PDF