升级到OSX 10.7.3 Lion后修复Postgresql

时间:2012-02-27 13:54:01

标签: ruby ruby-on-rails-3 osx-lion pg

我遇到了以下问题: Repairing Postgresql after upgrading to OSX 10.7 Lion 但没有得到解决。

生成错误的Postgres应用程序位于/usr/bin/psql, 但是正确的是 /Library/PostgreSQL/9.1/bin/psql

当我在.bash_profile(或甚至/etc/paths)中添加后者到我的路径时,卸载并安装PG gem,然后我仍然收到错误:

.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.2.1/lib/active_record/connection_adapters/postgresql_adapter.rb:1161:in `initialize': could not connect to server: Permission denied (PG::Error) Is the server running locally and accepting

我尝试了几次,也选择了:

-- --with-pg-config=/Library/PostgreSQL/9.1/bin/pg_config 

有什么想法吗?


编辑:

阅读更多帖子(如http://www.iainlbc.com/2011/10/osx-lion-postgres-could-not-connect-to-database-postgres-after-homebrew-installation)后, 我刚做了以下几件事:

sudo ln -s /private/tmp/.s.PGSQL.5432 /var/pgsql_socket/

它有效。我根本不知道为什么。我有两个Postgres装置吗?应用程序放在/usr/bin/psql文件后面的哪个位置?

1 个答案:

答案 0 :(得分:2)

运行find / -name .s.PGSQL.5432 -ls后,我注意到结果是:

47366187 0 srwxrwxrwx 1 postgres wheel 0 Dec 3 15:15 /private/tmp/.s.PGSQL.5432

请注意,PGSQL套接字文件为/private/tmp/.s.PGSQL.5432

使用上面的建议(但稍微修改一下),我这样做了:

sudo ln -s /private/tmp /var/pgsql_socket

重新启动的终端,它运作良好。