1

Rails アプリのデータベースで rake タスクを実行すると、常に次のエラーが発生します。

pg_dump: server version: 9.2.4; pg_dump version: 9.1.5
pg_dump: aborting because of server version mismatch

私はグーグルで検索し、postgres brew パッケージの更新に関するいくつかの提案を見つけましたが、これはうまくいきませんでした。

間違ったバージョンの pg_dump が使用されているのはなぜですか? どうすれば修正できますか? または、解決策を見つけるためにどの検索用語を探す必要がありますか?

編集

私の pg_dump 構成に関する情報:

$ pg_dump --version
> pg_dump (PostgreSQL) 9.1.5
$ which pg_dump
> /usr/bin/pg_dump
$ echo $PATH
> /Users/andrewharvey/.rvm/gems/ruby-1.9.3-p392@mantawatch/bin:/Users/andrewharvey/.rvm/gems/ruby-1.9.3-p392@global/bin:/Users/andrewharvey/.rvm/rubies/ruby-1.9.3-p392/bin:/Users/andrewharvey/.rvm/bin:/usr/local/heroku/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Users/andrewharvey/.rvm/bin

私は oh_my_zsh を使用しており、パスは .zshrc ファイルで定義されています。これが私の問題の原因である可能性があります (そして、これはクリーンアップできると確信しています)。ポインタに感謝します(Homebrew経由でインストールされたRVMとpostgresを使用しています)。

source $ZSH/oh-my-zsh.sh

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"

alias pg='pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log'

export
 PATH=$PATH:/usr/local/bin:/Users/andrewharvey/.rvm/gems/ruby-2.0.0-p0/bin:/Users/andrewharvey/.rvm/gems/ruby-2.0.0-p0@global/bin:/Users/andrewharvey/.rvm/rubies/ruby-2.0.0-p0/bin:/Users/andrewharvey/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin

### Added by the Heroku Toolbelt
export PATH="/usr/local/heroku/bin:$PATH"
4

2 に答える 2

5

Mac ユーザーの場合は、.profile ファイルの先頭に置きます。

export PATH="/Applications/Postgres.app/Contents/MacOS/bin:$PATH"

次に実行します

. ~/.profile
于 2013-10-13T14:18:16.530 に答える
3

次の出力は何を示していますか? 使用しようとしている pg_dump のバージョンは 9.1 バージョンのようですが、接続先のクラスターは 9.2 です。その場合は、9.2 pg_dump の正しいパスを特定する必要があります。

pg_dump --version

which pg_dump

echo $PATH

[OPが詳細を提供した後に編集]

このページによると: https://wiki.postgresql.org/wiki/Installers/Mac_OS_X、homebrew はおそらくツールを にインストールしました/usr/local/bin。しかし、あなたの電流$PATH/usr/local/bin他のいくつかのパスの後に位置しています。設定を整理しました$PATH。以下の変更を.zshrcファイルに保存し、ソース化して変更を取得してみてください ( source ~/.zshrc)。

export PATH=/usr/local/bin:/Users/andrewharvey/.rvm/gems/ruby-2.0.0-p0/bin:/Users/andrewharvey/.rvm/gems/ruby-2.0.0-p0@global/bin:/Users/andrewharvey/.rvm/rubies/ruby-2.0.0-p0/bin:/Users/andrewharvey/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:$PATH
export PATH="/usr/local/heroku/bin:$PATH"
于 2013-07-21T18:11:24.493 に答える