PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 15/08/2011 18:30:29

freepost
Membre

FATAL: authentification par mot de passe échouée pour l'utilisateur

Bonjour à tous,

Je rencontre un très gros problème avec Postgresql sur Fedora.
J'ai installé : yum -y install postgresql-server postgresql-devel
                    gem install pg.
L'installation s'est bien passée mais j'ai rencontré des problèmes et j'ai décidé de réinstallé.
Le problème est que pensant "purger" pour pouvoir réinstaller comme il faut j'ai supprimé dans le home le dossier postgres (avec rm -r).
Je suis bloqué maintenant, a chaque fois que je tente de créer une base j'ai un mot de passe qui m'est demandé mais je ne le connais pas !

[root@localhost ~]# createuser postgres
Le nouveau rôle est-il super-utilisateur ? (o/n) o
Mot de passe :
createuser : n'a pas pu se connecter à la base de données postgres : FATAL:  authentification par mot de passe échouée pour l'utilisateur  « root »
[root@localhost ~]# createuser postgres
Le nouveau rôle est-il super-utilisateur ? (o/n) n
Le nouveau rôle est-il autorisé à créer des bases de données ? (o/n) o
Le nouveau rôle est-il autorisé à créer de nouveaux rôles ? (o/n) n
Mot de passe :
createuser : n'a pas pu se connecter à la base de données postgres : FATAL:  authentification par mot de passe échouée pour l'utilisateur  « root »

Et à la place de voir postgres@utilisateur je vois bash -4.2.

Que puis-je faire ??
Merci bien

Hors ligne

#2 15/08/2011 18:44:08

gleu
Administrateur

Re : FATAL: authentification par mot de passe échouée pour l'utilisateur

createuser se connecte par défaut à la base de données postgres pour exécuter l'ordre SQL "CREATE USER". Comme vous n'avez pas utilisé l'option -U pour spécifier l'utilisateur PostgreSQL pour la connexion à la base, il va regarder si un utilisateur est indiqué dans la variable d'environnement PGUSER. Comme cette variable n'existe pas, il utilise par défaut le compte Unix que vous utlisez pour exécuter la commande. D'où le fait qu'il essaie de se connecter en tant qu'utilisateur root.

Mais de toute façon, vous ne connaissez pas le mot de passe. Et pour cause, après installation, aucun mot de passe n'est défini.

Vous avez donc deux solutions :

* commencez par vous connecter en tant qu'utilisateur postgres (au niveau Unix, donc un simple "su - postgres" devrait suffire). Puis essayez le createuser. Si cela ne marche toujours pas car il continue à vous demander un mot de passe, alors vous devez changer la configuration d'accès aux bases. Il s'agit du fichier pg_hba.conf, situé normalement dans le répertoire des données de PostgreSQL. Vous devez changer la méthode d'authentification actuelle (à priori md5, voire password) par trust.


Guillaume.

Hors ligne

#3 15/08/2011 19:42:41

freepost
Membre

Re : FATAL: authentification par mot de passe échouée pour l'utilisateur

Merci pour votre prompte réponse.

Quand je fais su - postgres j'obtiens non pas postgres@localhost comme cela devrait être mais bash -4.2.
En plus lors que je lance là commande il me demande le mot de passe (c'est la première fois que cela me le fais) !

En ce qui concerne le fichier pg_hba.conf, par défaut la valeur était mise sur ident. J'avais essayé de mettre trust ou md5 mais cela n'a rien changé

Hors ligne

#4 15/08/2011 20:42:56

gleu
Administrateur

Re : FATAL: authentification par mot de passe échouée pour l'utilisateur

Concernant le "bash-4.2", cela n'a rien à voir avec PostgreSQL mais avec la configuration shell du compte postgres.

pour la configuration de l'authentification, elle ne doit pas être sur ident si PostgreSQL vous demande un mot de passe. Êtes-vous sûr d'avoir modifié le bon fichier ? De plus, avez-vous demandé à PostgreSQL de recharger la configuration ? car modifier le pg_hba.conf, sans faire de reload, ça ne sert à rien.


Guillaume.

Hors ligne

#5 16/08/2011 22:02:25

freepost
Membre

Re : FATAL: authentification par mot de passe échouée pour l'utilisateur

Normalement j'ai modifié le bon fichier.
Il est vrai que j'ai eu une demande de mot de passe après avoir modifié ident.
Et non je ne crois pas avoir faire le reload ... cette partie n'était pas précisée là où j'ai cherché.

Hors ligne

#6 16/08/2011 22:04:15

gleu
Administrateur

Re : FATAL: authentification par mot de passe échouée pour l'utilisateur

Il faut toujours faire un reload après la modification d'un fichier de configuration PostgreSQL. Dans certains cas, il faut même faire un restart mais ils sont rares.


Guillaume.

Hors ligne

#7 20/08/2011 15:14:04

freepost
Membre

Re : FATAL: authentification par mot de passe échouée pour l'utilisateur

Bonjour Gleu,

J'ai trouvé le temps de lire la documentation pour le reload et l'ai fais.
Et cela fonctionne !

Merci beaucoup pour votre aide
Sincères salutations

Hors ligne

Pied de page des forums