web-dev-qa-db-fra.com

pg_connect (): impossible de se connecter au serveur PostgreSQL

J'ai lu plusieurs articles détaillant ce correctif pour ce problème précis. J'ai essayé toutes sortes de variantes de l'édition du fichier pg_hba.conf mais pas de chance, l'erreur suivante persiste dans mon journal Apache lorsque j'essaie d'exécuter le programme php que j'essaie d'utiliser.

Jeu. Mars 28 08:20:21 2013] [erreur] [client 172.16.1.64] PHP Avertissement: pg_connect ():> Impossible de se connecter au serveur PostgreSQL: FATAL: L'authentification homologue a échoué pour l'utilisateur

Voici mon fichier actuel pg_hba.conf:

Imgur

Je ne sais pas quoi essayer d'autre, toute aide est grandement appréciée!

Merci!

3
Mysteri0n

Considérons la première règle du pg_hba.conf:

local tous tous pairs

Cela signifie que pour toutes les connexions locales, l'utilisateur Unix doit être identique à l'utilisateur DB. Évidemment ce n'est pas le cas pour votre code php, d'où l'échec L'authentification des pairs a échoué pour l'utilisateur ....

La deuxième règle laisserait votre script se connecter, mais il est ignoré car la première règle est prioritaire:

local tous tous confiance

Cette règle signifie que toutes les connexions locales sont autorisées sans mot de passe et sans vérification d'identité.

Si cela vous convient, supprimez simplement la première règle et rechargez le service postgresql pour que la modification soit prise en compte.

Les autres règles ne doivent pas être pertinentes pour le problème car elles sont liées aux connexions TCP, et selon le message d'erreur, ce n'est pas la méthode utilisée par votre script, elle essaie de se connecter via le script Unix par défaut. socket de domaine.

0
Daniel Vérité