J'ai installé PostgreSQL 9.1 et pgadmin3 sur Ubuntu Server 13.10.
J'ai configuré le fichier postgresql.conf avec: listen_addresses = '*'
j'ai également configuré ph_hba.conf en changeant les connexions entre homologues en md5
De plus, je réinitialise le mot de passe de postgres par: Sudo password postgres
puis redémarré le service avec Sudo /etc/init.d/postgresql restart
après cela, j'ai essayé de me connecter à la base de données de modèles par défaut PostgreSQL:
Sudo -u postgres psql template1
mais la connexion a échoué avec ce message d'erreur:
psql: FATAL: password authentication failed for user "postgres"
puis j'ai essayé de me connecter depuis pgadmin, ce qui m'a donné la même erreur.
J'ai lu ici qu'il pourrait s'agir d'un bogue de date d'expiration du mot de passe l'utilisateur de PostgreSQL ne peut pas se connecter au serveur après avoir changé le mot de passe
mais je ne pouvais pas le résoudre car je ne peux pas me connecter avec psql. Est-ce que quelqu'un maintenant comment résoudre ce problème?
EDIT
fichier ph_hba:
Capture d'écran:
Vous confondez le mot de passe pour l'utilisateur unix "postgres" avec le mot de passe de la base de données pour l'utilisateur "postgres". Ce ne sont pas les mêmes.
Vous vous êtes verrouillé, car vous avez activé l'authentification md5
pour l'utilisateur de base de données postgres
sans définir de mot de passe pour l'utilisateur de base de données postgres
name__.
Ajoutez une nouvelle ligne en haut de pg_hba.conf
:
local postgres postgres peer
puis redémarrez/rechargez PostgreSQL et:
Sudo -u postgres psql
De l'invite résultante:
ALTER USER postgres PASSWORD 'my_postgres_password';
puis supprimez la ligne que vous avez ajoutée à pg_hba.conf
et relancez à nouveau Pg. Vous pouvez maintenant utiliser le mot de passe que vous avez défini ci-dessus pour vous connecter à PostgreSQL en tant qu'utilisateur postgres
name__.
Pour en savoir plus, lisez le chapitre "Authentification du client" du manuel d'utilisation et la documentation sur pg_hba.conf
.
Essayez de modifier le mot de passe de la base de données template1 en utilisant ceci:
$ psql -c "ALTER USER postgres WITH PASSWORD 'yourPassword'" -d template1
dans votre pg_hba.conf
# IPv4 local connections:
# TYPE DATABASE USER CIDR-ADDRESS METHOD
Host all all 127.0.0.1/32 trust
si cela ne fonctionne pas, essayez avec
Host all all your_ip/32 trust
puis redémarrez votre base de données cela fonctionnera bien .. si vous faites confiance alors il n’est pas nécessaire de mot de passe si vous faites MD5 alors il vous demandera mot de passe ...