PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Postgresql :Connexion refusée. Vérifiez que le nom d'hôte et le port sont corrects et que le postmaster accepte les connexions TCP/IP

L'erreur que vous citez n'a rien à voir avec pg_hba.conf; il ne parvient pas à se connecter, pas à autoriser la connexion.

Faites ce que dit le message d'erreur :

Vérifiez que le nom d'hôte et le port sont corrects et que le postmaster accepte les connexions TCP/IP

Vous n'avez pas montré la commande qui produit l'erreur. En supposant que vous vous connectez sur localhost port 5432 (les valeurs par défaut pour une installation standard de PostgreSQL), alors soit :

  • PostgreSQL n'est pas en cours d'exécution

  • PostgreSQL n'écoute pas les connexions TCP/IP (listen_addresses dans postgresql.conf )

  • PostgreSQL n'écoute que sur IPv4 (0.0.0.0 ou 127.0.0.1 ) et vous vous connectez en IPv6 (::1 ) ou vice versa. Cela semble être un problème sur certaines versions plus anciennes de Mac OS X qui ont un comportement de socket IPv6 étrange, et sur certaines versions plus anciennes de Windows.

  • PostgreSQL écoute sur un port différent de celui sur lequel vous vous connectez

  • (peu probable) il y a un iptables règle bloquant les connexions de bouclage

(Si vous n'êtes pas connexion sur localhost , il peut également s'agir d'un pare-feu réseau qui bloque les connexions TCP/IP, mais je suppose que vous utilisez les valeurs par défaut puisque vous ne l'avez pas dit).

Alors ... vérifiez ceux-ci :

  • ps -f -u postgres devrait lister postgres processus

  • sudo lsof -n -u postgres |grep LISTEN ou sudo netstat -ltnp | grep postgres devrait afficher les adresses TCP/IP et les ports sur lesquels PostgreSQL écoute

BTW, je pense que vous devez être sur une ancienne version. Sur mon installation 9.3, l'erreur est plutôt plus détaillée :

$ psql -h localhost -p 12345
psql: could not connect to server: Connection refused
        Is the server running on host "localhost" (::1) and accepting
        TCP/IP connections on port 12345?