J'essaie de connecter postgresql mais j'obtiens cette erreur.
org.postgresql.util.PSQLException: Connection refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.
Mon fichier pg_hba.conf est comme ça.
TYPE DATABASE USER CIDR-ADDRESS METHOD
# IPv4 local connections:
Host all all 127.0.0.1/32 md5
# IPv6 local connections:
Host all all ::1/128 md5
Je serais très obligé si quelqu'un a la bonté de bien expliquer ce qui se passe ici et comment le corriger.
L'erreur que vous citez n'a rien à voir avec pg_hba.conf
; il ne parvient pas à se connecter, ni à autoriser la connexion.
Faites ce que le message d'erreur dit:
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 connectiez sur localhost
port 5432
(les valeurs par défaut pour une installation PostgreSQL standard), 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 sur IPv6 (::1
) ou inversement. Cela semble être un problème sur certaines anciennes versions de Mac OS X qui ont un comportement de socket IPv6 étrange et sur certaines anciennes versions de Windows.
PostgreSQL écoute sur un port différent de celui sur lequel vous vous connectez
(peu probable) il existe une règle iptables
bloquant les connexions en boucle
(Si vous êtes pas en vous connectant sur localhost
, il peut également s'agir d'un pare-feu réseau bloquant les connexions TCP/IP, mais je suppose que vous utilisez les valeurs par défaut, car vous ne l'avez pas encore fait. dire).
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 un peu 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?