J'ai installé PostgreSQL 9.1 et pgadmin3 sur Ubuntu Server 13.10.
J'ai configuré postgresql.conf avec: listen_addresses = '*'
J'ai également configuré ph_hba.conf en changeant de connexion entre homologues 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. Un 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?
MODIFIER
fichier ph_hba:
Capture d'écran:
la source
Réponses:
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'
md5
authentification pour l'utilisateur de base de donnéespostgres
sans définir de mot de passe pour l'utilisateur de base de donnéespostgres
.Ajouter une nouvelle ligne en haut de
pg_hba.conf
:puis redémarrez / rechargez PostgreSQL et:
A partir de l'invite résultante:
puis supprimez la ligne que vous avez ajoutée
pg_hba.conf
et redémarrez Pg. Vous pouvez maintenant utiliser le mot de passe que vous avez défini ci-dessus pour vous connecter à PostgreSQL en tantpostgres
qu'utilisateur.Pour en savoir plus, lisez le chapitre "Authentification du client" du manuel d'utilisation et de la documentation
pg_hba.conf
.la source
psql -W postgresql://postgres:postgres@localhost
produisant à nouveau la même "FATAL: échec de l'authentification du mot de passe pour l'utilisateur 'postgres'"pg_hba.conf
fichier appartient à l'utilisateur du systèmepostgres
. Je ne connais que le mot de passe de la base de données de l'utilisateur de la base de donnéespostgres
. La question est donc de savoir comment puis-je éditer ce fichier conf sans en changer le propriétaire?local postgres postgres peer
vraiment besoin pourpg_hba.conf
? Tout fonctionne bien sans elleEssayez de modifier le mot de passe de la base de données template1 en utilisant ceci:
la source
dans votre pg_hba.conf
si cela ne fonctionne pas, essayez avec
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 ...
la source