J'ai rencontré cela avec 4 rôles que j'ai créés:
Après avoir changé le mot de passe d'un utilisateur dans pgAdmin III en utilisant l'interface graphique (1), cet utilisateur ne peut plus se connecter.
pgAdmin III affiche un message d'erreur:
An error has occurred:
Error connecting to the server: FATAL: password authentication failed for user "sam"
FATAL: password authentication failed for user "sam"
Mon système: Postgresql 9.2 sur Ubuntu 12.04
Est-ce qu'il y a un moyen de réparer ceci?
(1): connectez-vous avec le compte postgres, faites un clic droit sur l'utilisateur dans les rôles de connexion, allez dans l'onglet «Définition» et entrez le mot de passe
la source
trust
oupeer
dans lepg_hba.conf
fichier de ce compte.La chose simple à faire est de se connecter avec psql ou pgAdmin et
Maintenant, si vous ne pouvez pas vous connecter avec un compte superutilisateur, vous pouvez récupérer en modifiant les paramètres pg_hba.conf pour cet utilisateur et recharger la configuration (parfois, je trouve que cela nécessite de redémarrer le serveur, mais je ne sais pas pourquoi).
Ce que vous pouvez faire est d'ajouter une ligne qui vous permet de vous connecter en utilisant la méthode ident (peer in 9.2) (si vous pouvez utiliser un compte système local du même nom que l'utilisateur) pour les connexions locales pour l'utilisateur, ou (si ce n'est pas possible) réglé sur "confiance" (très temporairement!). Si vous utilisez la confiance, reculez dès que possible, car cela signifie "faites confiance à l'utilisateur qui est celui qu'il réclame!" et par conséquent, ce paramètre est dangereux de laisser activé en dehors des besoins de récupération immédiate.
Une fois connecté, vous pouvez réinitialiser le mot de passe ci-dessus.
la source
Pour la variante Windows - J'ai également rencontré ce méchant bogue à cause de pgAdmin pour mon installation Windows x64 de la version 9.2. Cela a laissé ma production paralysée.
Dans le dossier
C:\Program Files\PostgreSQL\9.2\data
ouC:\Program Files (x86)\PostgreSQL\9.**x**\data
, vous trouverez le fichier texte pg_hba.conf .Trouvez les lignes suivantes:
et changez la MÉTHODE md5 en "confiance" comme ceci:
A partir du
Windows>Run
type "services.msc" et [entrée] recherchez la bonne instance PostgreSQL et redémarrez-la.Votre sécurité DB est maintenant complètement ouverte! Tenez compte de l'avertissement pour le renvoyer à md5 après avoir modifié l'heure d'expiration du mot de passe utilisateur pour indiquer l'année 2099 pour tous les utilisateurs concernés.
la source
Si vous ne l'avez pas déjà essayé, consultez votre fichier pg_hba.conf. Il sera nommé quelque chose comme /var/lib/pgsql/9.3/data/pg_hba.conf (Fedora 20); vous devrez peut-être utiliser «find / -name pg_hba.conf» pour le localiser.
En bas du fichier, changez les valeurs de 'METHOD' en 'trust' pour les tests locaux (voir la documentation de postgres pour des informations complètes). Redémarrez la machine pour vous assurer que tout démarre correctement et que les nouveaux paramètres sont lus.
Espérons que cela guérira vos malheurs. Il a résolu mes problèmes sur Fedora 20 avec PostgreSQL 9.3.
MISE À JOUR 2016-10-14:
Sur Ubuntu, le nom de fichier requis est
/etc/postgresql/9.5/main/pg_hba.conf
. Pour les tests locaux uniquement , modifiez-le pour qu'il ressemble à ceci:Les deux lignes avec la méthode "trust" sont nouvelles. Ils vous permettent de vous connecter sans nom d'utilisateur / mot de passe.
Une fois terminé, vous devrez redémarrer le serveur via:
la source
pg_hba.conf
effet prenne effet, vous n'avez besoin que d'un rechargement, pas d'un redémarrage. En outre, votre suggestion semble incomplète car il n'est pas clair comment cela résoudrait le problème à la fin.Je viens d'avoir ce même problème et il s'est avéré que j'avais plusieurs utilisateurs avec le même nom (cas différents). Une fois que j'ai fusionné la propriété et en ai retiré une, c'était au moins clair. Selon la méthode de connexion, le cas n'était pas nécessairement transféré pour authentification.
la source