web-dev-qa-db-fra.com

L'authentification par mot de passe Postgres échoue

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:

ici

Capture d'écran:

enter image description here

31
Shadin

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 postgressans définir de mot de passe pour l'utilisateur de base de données postgresname__.

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

Pour en savoir plus, lisez le chapitre "Authentification du client" du manuel d'utilisation et la documentation sur pg_hba.conf .

52
Craig Ringer

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
3
pfugazza

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

1
smn_onrocks