Le problème est toujours votre pg_hba.conf
fichier*.
Cette ligne :
local all postgres peer
Ça devrait l'être :
local all postgres md5
* L'emplacement de ce fichier n'est pas très cohérent. La commande locate pg_hba.conf
devrait vous aider ; voici quelques exemples : /etc/postgresql/*/main/pg_hba.conf
y /var/lib/pgsql/data/pg_hba.conf
.
Après avoir modifié ce fichier, n'oubliez pas de redémarrer votre serveur PostgreSQL. Si vous êtes sous Linux, ce sera sudo service postgresql restart
.
Il s'agit d'une brève description des deux options en fonction de l'objectif de l'UE. Documents officiels de PostgreSQL sur les méthodes d'authentification .
Authentification par les pairs
La méthode d'authentification par les pairs fonctionne en obtenant du noyau le nom d'utilisateur du système d'exploitation du client. du client et en l'utilisant comme nom d'utilisateur de la base de données nom d'utilisateur de la base de données (avec mappage facultatif du nom d'utilisateur). Cette méthode n'est Cette méthode n'est prise en charge que pour les connexions locales.
Authentification par mot de passe
Les méthodes d'authentification basées sur un mot de passe sont md5 et password. Ces méthodes fonctionnent de manière similaire, à l'exception de la façon dont le mot de passe est envoyé à travers la connexion, à savoir MD5-hashed et clear-text respectivement.
Si vous êtes un tant soit peu préoccupé par les attaques de "reniflage" de mot de passe, alors md5 est préférable. Les mots de passe en clair doivent toujours être évités si possible. Cependant, md5 ne peut pas être utilisé avec la fonction db_user_namespace. Si la connexion est protégée par un cryptage SSL, alors le mot de passe peut être utilisé en toute sécurité (bien que l'authentification par certificat SSL puisse être un meilleur choix si l'on compte utiliser SSL).
Emplacement de l'échantillon pour pg_hba.conf
:
/etc/postgresql/9.1/main/pg_hba.conf
1 votes
1) : Assurez-vous que vous avez créé un utilisateur nommé "postgres" et que vous avez les droits sur votre base de données. 2) : Assurez-vous qu'il a un mot de passe 3) : Assurez-vous que votre config/database.yml contient les informations d'identification des droits (nom d'utilisateur + mot de passe).
2 votes
Il faut que chaque endroit soit pair et que l'indentation soit réglée sur md5
18 votes
Voir également cette réponse - la connexion peut échouer sur
localhost
mais réussissent sur127.0.0.1
.10 votes
Dans mon cas, j'ai dû ajouter
host: localhost
en eldatabase.yml
fichier.0 votes
Ce lien m'a aidé suite.opengeo.org/docs/latest/dataadmin/pgGettingStarted/
0 votes
J'ai corrigé cette erreur en ajoutant
--host=localhost
que j'ai supposé être la valeur par défaut0 votes
Référez-vous à ceci pour
postgres
erreur d'authentification Lien