Postgres cannot connect to server on Unix domain socket 5432

匿名 (未验证) 提交于 2019-12-03 09:52:54

问题:

Using Postgres 9.2.2, I keep getting this error when I try to start up rails server or run psql

could not connect to server: No such file or directory     Is the server running locally and accepting     connections on Unix domain socket "/tmp/.s.PGSQL.5432"?

This command, when run:

pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start

says server starting, but when I go to check processes, no postgres process is running

My paths are correct

$ which psql /usr/local/bin/psql $ which pg_ctl /usr/local/bin/pg_ctl

If I run this command:

initdb /usr/local/var/postgres -E utf8

It will connect to the socket.... but it also requires me to remove my databases, which is pretty frustrating. This seems happens every time I restart.

Using

  • Postgres 9.2.2
  • Brew
  • OSX Mountain Lion

I found similar threads on stack overflow but none of the solutions seemed to work.

回答1:

Screw it. I just installed Postgres.app by Heroku. No more messy issues.



回答2:

I saw this issue arise again once more with someone who actually had Postgres.app installed. Though, it's unclear why his threw this error because I've never seen it before with Postgres.app.

The solution was changing the database.yml file from:

development: &default   adapter: postgresql   database: myapp_development   encoding: utf8   min_messages: warning   pool: 5   timeout: 5000  test:   <<: *default   database: myapp_test

To:

development: &default   adapter: postgresql   database: myapp_development   encoding: utf8   min_messages: warning   pool: 5   timeout: 5000   host: localhost  test:   <<: *default   database: myapp_test

Only difference is the "host" line



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!