Tôi đang chạy một ứng dụng rails đang được phát triển với postgresql 9.3. Khi tôi cố gắng khởi động máy chủ hành khách ngày hôm nay, tôi đã nhận được:
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?
Không có vấn đề lớn tôi nghĩ, điều đó đã xảy ra trước đây. Khởi động lại postgres luôn giải quyết vấn đề. Vì vậy, tôi đã chạy sudo service postgresql restartvà nhận được:
* 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!
postgresql.confĐiểm của tôi đến mặc định: localhostvà cổng 5432. Tôi đã thử thay đổi cổng nhưng thông báo lỗi là như nhau (ngoại trừ thay đổi cổng).
Cả hai ps aux | grep postgresqlvà ps aux | grep postmasterkhông trả lại gì cả.
BIÊN TẬP:
Trong postgresql.conftôi đã thay đổi listen_addressesthành 127.0.0.1thay vì localhostvà nó đã thực hiện thủ thuật, máy chủ đã khởi động lại. Tôi cũng đã phải chỉnh sửa cấu hình db của ứng dụng và trỏ đến 127.0.0.1thay vì localhost. Tuy nhiên, câu hỏi là bây giờ, tại sao localhost được coi là 217.74.65.145và không 127.0.0.1?
Đó là của tôi /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.comlàm tên miền.
sudo netstat -anlp | grep 5432nào?