Rails无法看到我的Postgres数据库

AKW*_*KWF 0 postgresql ruby-on-rails ruby-on-rails-3.2

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

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

rake db:create:all
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

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"?
Run Code Online (Sandbox Code Playgroud)

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

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

Cra*_*ger 7

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

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

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

  • 重新编译PG宝石使用正确的libpq通过设置PATH,使正确的pg_config是它编译(最好的选择)之前;

  • 连接host: /tmp或使用psqletc 时设置显式套接字目录-h /tmp/;

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

你可以在这里找到更多细节: