J'exécute une application rails en développement avec postgresql 9.3. Quand j'ai essayé de démarrer le serveur de passagers aujourd'hui, j'ai eu:
PG::ConnectionBad - could not connect to server: Connection refused
Is the server running on host "localhost" (217.74.65.145) and accepting
TCP/IP connections on port 5432?
Pas grand-chose que je pensais, c'est arrivé avant. Le redémarrage de postgres a toujours résolu le problème. J'ai donc couru sudo service postgresql restart
et obtenu:
* Restarting PostgreSQL 9.3 database server
* The PostgreSQL server failed to start. Please check the log output:
2014-06-11 10:32:41 CEST LOG: could not bind IPv4 socket: Cannot assign requested address
2014-06-11 10:32:41 CEST HINT: Is another postmaster already running on port 5432? If not, wait a few seconds and retry.
2014-06-11 10:32:41 CEST WARNING: could not create listen socket for "localhost"
2014-06-11 10:32:41 CEST FATAL: could not create any TCP/IP sockets
...fail!
Mes postgresql.conf
points sur les valeurs par défaut: localhost
et le port 5432
. J'ai essayé de changer le port mais le message d'erreur est le même (sauf le changement de port).
Les deux ps aux | grep postgresql
et ps aux | grep postmaster
ne retournent rien.
ÉDITER:
En postgresql.conf
j'ai changé en listen_addresses
au 127.0.0.1
lieu de localhost
et ça a fait l'affaire, le serveur a redémarré. J'ai également dû modifier la configuration db de mes applications et pointer vers 127.0.0.1
au lieu de localhost
. Cependant, la question est maintenant, pourquoi est considéré comme localhost 217.74.65.145
et non 127.0.0.1
?
Voilà mon /etc/hosts
:
127.0.0.1 local
127.0.1.1 jacek-X501A1
127.0.0.1 something.name.non.example.com
127.0.0.1 company.something.name.non.example.com
example.com
comme nom de domaine.
sudo netstat -anlp | grep 5432
?