43 votes

Impossible de se connecter à postgres à partir d'un hôte distant

J'ai un serveur de base de données (192.168.1.50) exécutant postgres. J'ai créé une base de données nommée "testdb" et un utilisateur "testuser" avec le mot de passe "testuserpw". Localement, je peux me connecter à la base de données en utilisant :

 psql -d testdb -U testuser

Lorsque j'émets la commande depuis un autre hôte (192.168.1.60) :

 psql -h 192.168.1.50 -d testdb -U testuser

j'ai l'erreur :

 psql: could not connect to server: Connection refused
Is the server running on host "192.168.1.50" and accepting
TCP/IP connections on port 5432?

Une idée ?

63voto

araqnid Points 33350

Vérifiez le réglage de listen_addresses dans votre fichier postgresql.conf De nombreuses distributions le font par défaut à 127.0.0.1, c'est-à-dire qu'il n'écoute que les connexions provenant de localhost. Il doit être défini sur '*' pour écouter les connexions sur toutes les interfaces.

Si vous rencontrez toujours des problèmes, utilisez lsof pour voir sur quelles sockets réseau le processus postgres écoute.

4voto

Sorrow Points 4176

Le pare-feu laisse-t-il passer les connexions ? Ou, vérifiez si pg_hba.conf autorise la connexion à partir d'adresses autres que localhost.

1voto

Donald J. Axel Points 11

La variable de configuration listen_address dans postgresql.conf n'est pas le seul moyen de faire en sorte que postgres écoute sur l'adresse IP (ou les adresses) non locales.

Utilisez l'option "-o -h *" si vous démarrez postgres à partir de pg_ctl, sinon ajoutez "-h" "*" à la ligne de commande postgres, comme par exemple

/usr/local/pgsql/bin/postgres -D /pg/data "-h" "*"

Bien sûr, /pg/data doit être remplacé par votre chemin de données actuel.

Ceci est particulièrement utile lors de l'expérimentation.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X