【问题标题】:pg_dump version mismatch in RailsRails 中的 pg_dump 版本不匹配
【发布时间】:2012-03-21 06:36:33
【问题描述】:

在运行rake db:structure:dump命令时遇到如下错误:

Larson-2:app larson$ rake db:structure:dump
pg_dump: server version: 9.1.3; pg_dump version: 9.0.4
pg_dump: aborting because of server version mismatch
rake aborted!
Error dumping database

如何更新 pg_dump?我已经安装了 pg 9.1.3,有没有办法将 Rails 中的引用更新到新版本?

当我尝试通过自制软件更新 postgres 时,我得到以下输出:

Larson-2:app larson$ sudo brew upgrade postgresql
Password:
Error: postgresql already upgraded

【问题讨论】:

  • 改用 9.1.3 版本的 pg_dump
  • pg_config --bindir 说什么?
  • @francs 如何将 pg_dump 设置为新版本?它由 rake 任务调用
  • @dbenhur pg_config --bindir /usr/local/Cellar/postgresql/9.0.4/bin
  • 所以你已经安装了 pg 9.0。卸载它并替换为 pg 9.1

标签: ruby-on-rails postgresql ruby-on-rails-3.2 postgresql-9.1 pg-dump


【解决方案1】:

这是我解决问题的方法,首先更新自制软件:

brew update
如果您收到此错误:error: Your local changes to the following files would be overwritten by merge:

然后:

cd /usr/local/cellar
git reset --hard FETCH_HEAD

完成自制程序更新后:
sudo brew install postgresql
它将安装 9.1.3(或最新版本的 pg)和任何依赖项。

【讨论】:

    【解决方案2】:

    在我的机器上,问题出在 PATH 上。 /usr/bin 上有一个 pg_dump v. 9.0.10,我的服务器是 9.1.something。

    更改路径以使 /usr/local/Cellar/postgres/9..../bin (或您使用的实际 postgres 安装的路径)比其他任何事情都轻而易举。我只需要重新打开任何打开的终端窗口。

    【讨论】:

      【解决方案3】:

      我有同样的问题。遵循 postgres 命令行工具文档,然后必须运行 rake db:reset 然后 rake db:test:prepare 来复制我的测试数据库。在我做了这些事情之后,它起作用了。

      【讨论】:

        猜你喜欢
        • 2014-04-10
        • 2014-02-03
        • 2013-07-20
        • 2012-12-19
        • 2016-09-29
        • 2020-12-29
        • 1970-01-01
        • 2014-01-12
        • 2016-06-12
        相关资源
        最近更新 更多