Sto eseguendo un'app Rails in sviluppo con Postgresql 9.3. Quando ho provato ad avviare il server passeggeri oggi, ho ottenuto:
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?
Non ho pensato molto, è successo prima. Il riavvio di postgres ha sempre risolto il problema. Quindi ho corso sudo service postgresql restart
e ottenuto:
* 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!
I miei postgresql.conf
punti di default: localhost
e port 5432
. Ho provato a cambiare la porta ma il messaggio di errore è lo stesso (tranne la modifica della porta).
Entrambi ps aux | grep postgresql
e ps aux | grep postmaster
non restituiscono nulla.
MODIFICARE:
Nel postgresql.conf
ho cambiato listen_addresses
al 127.0.0.1
posto di localhost
e lo ha fatto il trucco, il server riavviato. Ho anche dovuto modificare la configurazione db delle mie applicazioni e scegliere 127.0.0.1
invece di localhost
. Tuttavia, la domanda è ora, perché localhost è considerato 217.74.65.145
e non 127.0.0.1
?
Questo è il mio /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
come nome di dominio.
sudo netstat -anlp | grep 5432
?