Vous n'êtes pas identifié(e).
Bonjour à tous,
Je me lance petit à petit dans Postgresql.
J'en suis à la création de rôles.
J'ai créé plusieurs rôles : admin, client1, client2, client3. Aucun de ces rôle n'est superutilisateur mais ils peuvent tous se connecter.
Ces rôles s'ajoutent au superutilisateur "postgres".
Le problème est qu'en étant connecté en tant que "postgres" (superutilisateur) pour la création des autres rôle j'ai eu la bonne idée (je ne sais pas pourquoi) de décocher la variable "Peut se connecter?" (ou LOGIN). (Vous devez déjà sauter au plafond).
Je me suis bien entendu déconnecté et plus moyen de se loger avec mon seul super utilisateur de ma base.
Donc j'aimerais savoir si vous auriez une manip pour permettre à ce super utilisateur de pouvoir de nouveau se connecter sachant qu'aucun de mes autres rôles n'ont ce droit?
Merci d'avance pour vos réponses.
Cordialement
Dernière modification par maccamons (06/10/2016 11:40:09)
Hors ligne
C'était effectivement une mauvaise idée
La seule méthode pour corriger votre problème à ma connaissance est celle-ci :
- arrêt de l'instance
- démarrage de l'instance en mode mono-utilisateur : postgres --single -D /chemin/vers/pgdata
- ALTER ROLE postgres LOGIN;
- quitter le mode mono-utilisateur et relancer l'instance normalement
Julien.
https://rjuju.github.io/
Hors ligne
Merci Julien pour votre réponse.
Cela me semble la bonne méthode malheureusement j'ai un message d'erreur lorsque je lance la procédure :
"postgres --single -D /chemin/vers/pgdata"
J'ai un retour :
"CEST FATAL: could not create lock file "postmaster.pid": permission denied"
Je cherche à régler ce problème par tous les moyens mais ce n'est pas gagné car j'ai le même message lorsque je démarre mon serveur "pg_ctl start _D /chemin/vers/data".
Par contre je peux lancer mon serveur via le service Windows sans problème.
Bizarre. Les joies de Windows...
Je vais continuer à chercher pour ce soucis et j'essaierai alors votre méthode.
Merci encore.
Simon
Hors ligne
Il faut exécuter ces commandes en tant qu'utilisateur postgres.
Guillaume.
Hors ligne
Bonjour Guillaume,
Désolé de ne revenir que si tard mais d'autres choses m'ont occupées.
J'utilise la procédure "postgres --single -D /chemin/vers/pgdata" à partir de l'invite de commande cmd de Windows :
C:\Program Files\PostgreSQL\9.3\bin>postgres.exe --single -D "C:/Program Files/Postgresql/9.3/data"
Et c'est à partir de cette procédure que j'obtiens ce message d'erreur.
Je ne comprends pas comment exécuter ces commandes en tant qu'utilisateur postgres.
Si vous pouviez m'aider une dernière fois... Merci
Hors ligne
Essayez avec runas : https://technet.microsoft.com/en-us/lib … 90994.aspx
Sinon, ouvrez une invite de commande en tant qu'utilisateur postgres.
Julien.
https://rjuju.github.io/
Hors ligne
Merci pour votre aide à tous les deux.
Je ne m'en sors toujours pas car je pense que j'ai des soucis de gestion de droit sur mon serveur.
Mais vu que je dois en changer bientôt et que ma BD n'est encore qu'à un stade expérimentale je repartirai sur une base propre en veillant bien à ne pas commettre de nouveau cette erreur de débutant.
Je clos donc la discussion.
Hors ligne