Ruby on rails 升级到Yosemite 10.10后无法连接到postgresql数据库

Ruby on rails 升级到Yosemite 10.10后无法连接到postgresql数据库,ruby-on-rails,ruby,postgresql,osx-yosemite,Ruby On Rails,Ruby,Postgresql,Osx Yosemite,更新到Yosemite 10.10后,我无法连接到我的postgresql数据库。我运行rails控制台并尝试获取第一个用户,但是得到了这个错误 > ➜ game_golf git:(master) ✗ rails c > Loading development environment (Rails 4.1.4) > [1] pry(main)> User.first > PG::ConnectionBad: could not c

更新到Yosemite 10.10后,我无法连接到我的postgresql数据库。我运行rails控制台并尝试获取第一个用户,但是得到了这个错误

>     ➜  game_golf git:(master) ✗ rails c
>     Loading development environment (Rails 4.1.4)
>     [1] pry(main)> User.first
>     PG::ConnectionBad: could not connect to server: Connection refused
>       Is the server running on host "localhost" (::1) and accepting
>       TCP/IP connections on port 5432?
>     could not connect to server: Connection refused
>       Is the server running on host "localhost" (127.0.0.1) and accepting
>       TCP/IP connections on port 5432?
>     from /Users/pauldornfeld/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activerecord-4.1.4/lib/active_record/connection_adapters/postgresql_adapter.rb:888:in `initialize'
>     [2] pry(main)>

我该怎么办!我尝试重新安装postgresql,重新安装homebrew。请帮忙

您最好使用简易方法安装应用程序!我对10.9.4也有同样的问题。还有10.10

brew install postgres
在执行任何OS X升级时都会出现问题,因此请避免。因此,请安装应用程序,然后:

如果安装无法立即进行,请将其添加到您的配置文件中。对我来说,我从未在我的个人资料中添加过以下内容:

export PATH="/Applications/Postgres.app/Contents/MacOS/bin:$PATH"
此行必须位于您的个人资料的顶部:

export PATH=/usr/local/bin:$PATH
祝你好运

我找到了


它对我很有用。

检查server.log将显示它正在查找的目录。将它们添加到postgres目录应该可以解决这个问题。(将在上面发表评论,但声誉不足)

服务器是否在主机“localhost”(127.0.0.1)上运行,并在端口5432上接受TCP/IP连接?你试过验证这个吗?是的!很有效,谢谢你。现在我想我必须确保postgresql应用程序正在运行,以便连接到数据库。为什么以前不需要,现在却需要?rails c是否自动启动了postgresql数据库,还是它总是在我不知情的情况下运行?我现在不是真正的专家,但我知道postgres数据库的brew安装位于/usr/local/pgsql/data。您必须使用Damien Jones的建议,因为Yosemite升级会删除空目录:(此答案将保留在顶部,因为它被认为是正确的。对于通过自制安装Postgres的任何人来说:此错误是由苹果更新操作系统的方式造成的。自制安装没有问题,不需要尝试其他安装。来自@daslicious的答案提供了一种简单的方法来解决此问题。尽管这是一个有效的解决方案d解决方案,我还是要投反对票,因为停止使用包管理并不像下面提供的那样是一个好的解决方案。对我也有用!谢谢:-)在通过自制安装的PostgreSQL上为我工作。也为我工作。我的postgres安装在/usr/local/opt/postgres,我只需要创建pg_tblspc和pg_twophase dirs(pg_stat_tmp已经存在)。为我工作:)谢谢我刚刚升级了自己,并尝试了这个,但仍然不起作用。我发现
pg_replslot
也不见了。我通过跟踪
server.log
找到了它,对我来说,它位于
/usr/local/var/postgres/server.log
。希望它能帮助其他人,或者告诉他们如何找到错误的来源。以下是你的一些声誉:)
cd /usr/local/var/postgres
mkdir pg_tblspc pg_twophase pg_stat_tmp