Rails无法看到我的Postgres数据库

时间:2013-06-06 14:39:11

标签: ruby-on-rails postgresql ruby-on-rails-3.2

我正在尝试在我的Macbook上加载Rails 3.2项目,但我遇到了困难。我通过brew安装了Postgres 9.1.4。将/usr/local/bin放在$PATH的前面后,我现在可以通过psql从命令行进入Postgres。

但是,在我的Rails项目中,当我运行时:

rake db:create:all

我收到以下错误:

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

那个文件确实不存在。然而,我可以通过命令行使用psql访问数据库。

为什么要看那个区域,我该怎样做才能让它看起来适合Postgres的适当位置(无论是什么)?

2 个答案:

答案 0 :(得分:7)

对于Homebrew和Postgres.app的用户来说,这在OS X系统上很常见。

你的Rails'Pg'宝石是根据旧的PostgreSQL版本编译的,而这些版本是在某些Mac OS X版本上预先安装的,而不是你自己安装的版本。发生这种情况是因为在您安装的版本之前PATH上有pg_config的Apple版本。

任何这些替代方案都可行:

  • 通过设置libpq重新编译Pg gem以使用正确的PATH,以便在编译之前使用正确的pg_config(最佳选项);

  • 当您与host: /tmppsql-h /tmp/连接时设置显式套接字目录;

  • 使用TCP / IP:host: localhostpsql -h localhost等;

您可以在此处找到更多详细信息:

答案 1 :(得分:0)

检查 database.yml 文件。可能是一个糟糕的配置