Korzystam z aplikacji railsowej w fazie rozwoju z postgresql 9.3. Kiedy próbowałem dzisiaj uruchomić serwer pasażerski, otrzymałem:
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?
Nic wielkiego, nie myślałem, że to się zdarzyło wcześniej. Ponowne uruchomienie postgres zawsze rozwiązało problem. Więc pobiegłem sudo service postgresql restarti dostałem:
* 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!
Moje postgresql.confpunkty do wartości domyślnych: localhosti portu 5432. Próbowałem zmienić port, ale komunikat o błędzie jest taki sam (oprócz zmiany portu).
Oba ps aux | grep postgresqli ps aux | grep postmasternic nie zwracają.
EDYTOWAĆ:
W postgresql.confzmieniłem listen_addressesna 127.0.0.1zamiast localhosti udało się, serwer zrestartował się. Musiałem również edytować konfigurację bazy danych moich aplikacji i wskazywać 127.0.0.1zamiast localhost. Jednak pytanie brzmi teraz: dlaczego localhost jest uważany za, 217.74.65.145a nie 127.0.0.1?
To jest moje /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.comjako nazwy domeny.
sudo netstat -anlp | grep 5432?