【问题标题】:2 versions of pg_dump on my OSX Lion我的 OSX Lion 上的 2 个 pg_dump 版本
【发布时间】:2012-05-17 12:06:18
【问题描述】:

我使用自制软件安装了 Postgres 9.0.x,但由于缺少一些模块,我使用以下方法将其删除:

brew uninstall postgres

并从 http://www.enterprisedb.com/downloads/postgres-postgresql-downloads 安装 Postgres 9.1.3。

现在我遇到了一个问题 - pg_dump 上有 2 个不同的版本 - 9.0.5 和 9.1.3 和 9.0.5 是默认版本。

有没有办法将9.1.3版本设置为pg_dump的默认版本?

【问题讨论】:

  • 我在 /usr/bin 找到了旧版本
  • 删除旧版本,或重命名,或移动到不在PATH中的目录。
  • 为什么不能直接删除 pg_dump 的旧二进制文件?
  • 我做了 - 我将 pg_dump 移动到我的主目录(以防万一),但现在当我在终端中输入:pg_dump --version 我得到:-bash: pg_dump: command not found
  • 这意味着您的新版本 pg_dump 不在您的 PATH 中。

标签: macos postgresql osx-lion version pg-dump


【解决方案1】:

因此,根据您的附加 cmets,您的新版本 pg_dump 不在您的 PATH 中,您需要做的就是删除旧版本,并将新版本符号链接到您 PATH 中的任何目录,例如,/usr/bin.

如下:

sudo ln -s /actual/new/pg_dump /usr/bin/pg_dump

希望对你有帮助

【讨论】:

  • 这是我对 Homebrew 所做的,因为升级对我来说并不完全有效。只需使用 Homebrew 安装的 postgresql 版本更改版本号:blog.swathik.com/2013/06/pgdump-version-mismatch.html
  • sudo ln -s /Applications/Postgres.app/Contents/Versions/9.5/bin/pg_dump /usr/bin/pg_dump ln: /usr/bin/pg_dump: 不允许操作
【解决方案2】:

Valentin 有正确的答案,但当然,Mac 用户的问题是 pg_dump 到底在哪里?

如果您有 9.2 版,则为:/Library/PostgreSQL/9.2/bin/pg_dump

复制到 /usr/bin

【讨论】:

  • 如果你使用自制软件,它是 /usr/local/Cellar/postgresql/9.2.2/bin(或任何你的版本)
【解决方案3】:

我基本上遇到了同样的错误。

pg_dump: server version: 9.1.3; pg_dump version: 9.0.4

我刚刚使用了 homebrew 的升级功能,它使 sever 和 pg_dump 版本都与 homebrew 中的最新版本(截至 2013 年 9 月 19 日的 9.3)保持同步。

brew upgrade postgresql

我重新运行了我的转储语句,它运行良好。

pg_dump -U postgres development > dump.sql

【讨论】:

    猜你喜欢
    • 2012-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-21
    • 2011-09-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多