从Macports切换到Homebrew之后,Rails和Postgres并没有相处; PGError:错误:无法识别的时区名称:“UTC”

时间:2010-11-11 13:16:44

标签: postgresql activerecord ruby-on-rails-3 macports homebrew

我将我在/opt/local(Macports所在的地方所生活的地方)中的所有内容移动到~/.macports。这包括我的旧postgres数据库集群。

然后我使用Homebrew安装postgres并运行它告诉我的设置(在/usr/local中创建一个新的数据库集群)。

在我的项目中,我运行了rake db:drop:allrake db:create。这些工作很愉快。

但是当我试图rake db:migrate时,postgres和rails战斗并告诉我

rake aborted!
PGError: ERROR:  unrecognized time zone name: "UTC"
: SET time zone 'UTC'
但是,我不知道他们在谈论什么。我发现this article关于一个config.time_zone错误略有启发,但还不足以找到我的路。

谢谢!

3 个答案:

答案 0 :(得分:2)

我收到此错误,只需手动启动postgres:

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

你也可以阻止它:

pg_ctl -D /usr/local/var/postgres stop -s -m fast

答案 1 :(得分:1)

经过多次敲击后,我通过运行解决了这个问题:

env ARCHFLAGS="-arch x86_64" gem install pg

答案 2 :(得分:0)

我不完全确定如何修复它,但卸载Postgres并重新安装它(并按照它非常仔细地提供的设置说明)让它正常工作。