我正在使用PostgreSQL 9.3在开发中运行Rails应用程序。今天当我尝试启动乘客服务器时,我得到了:
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?
我认为这没什么大不了的。重新启动postgres总是可以解决问题。所以我跑了sudo service postgresql restart
,得到了:
* 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
指向默认值:localhost
和port 5432
。我尝试更改端口,但错误消息相同(端口更改除外)。
两者ps aux | grep postgresql
并ps aux | grep postmaster
没有返回任何内容。
编辑:
在postgresql.conf
我更改listen_addresses
为127.0.0.1
而不是localhost
成功的过程中,服务器重新启动。我还必须编辑应用程序的db config并指向127.0.0.1
而不是localhost
。但是,现在的问题是,为什么将本地主机视为217.74.65.145
而不是127.0.0.1
?
那是我的/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
如果您要混淆数据,请负责任地这样做并
—
珍妮·D
example.com
用作域名。
sudo netstat -anlp | grep 5432
?