Postgres无法连接到Unix域套接字5432上的服务器



使用Postgres 9.2.2,当我试图启动rails服务器或运行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"?

这个命令,当运行时:

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

表示服务器正在启动,但是当我去检查进程时,没有postgres进程正在运行

我的路径是正确的

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

如果我运行这个命令:

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

它将连接到socket....但它也需要我删除我的数据库,这是相当令人沮丧的。

使用

  • Postgres 9.2.2
  • 酿造
  • OSX美洲狮

我发现类似的线程堆栈溢出,但没有一个解决方案似乎工作。

去你的。我刚刚安装了Postgres。应用程序由Heroku。别再乱糟糟的了

我看到这个问题再次出现在实际使用Postgres的人身上。应用程序安装。虽然,目前还不清楚为什么他抛出这个错误,因为我从来没有见过它之前与postgresql .app。

解决方案是将database.yml文件更改为:

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

:

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

唯一的区别是"host"行

相关内容

  • 没有找到相关文章

最新更新