34

ローカル データを Heroku に取得しようとすると、pg_dump の 2 つの異なるバージョン間でバージョンの不一致が発生します。

具体的には、次のメッセージが表示されます。

pg_dump: server version: 9.2.2; pg_dump version: 9.1.4
pg_dump: aborting because of server version mismatch

この問題を抱えている人を見つけましたが、提案された解決策を実装するのに十分な知識がありません。(私は Ruby on Rails、PostgreSQL、Heroku、および Mac を初めて使用します! 物事を拾いながら遊んでいる段階です。)

ローカル マシン上のすべての PostgreSQL をアンインストールし、 http://postgresapp.com/から PostgreSQL 9.2.2 をクリーン インストールしてやり直すと、生活が楽になるのではないかと考えていましたが、どうすればよいかわかりません。アンインストール。

Mac OS X Mountain Lion 10.8.2 を実行しています。

4

6 に答える 6

35

OS X 10.8のディレクトリには、クライアント側のPostgreSQLツールであるその他のプログラムとともにpg_dumpバージョン9.1.4が付属しています。サーバーとしてPostgreSQLがインストールされているという意味ではありません(OS X Server Editionを使用している場合を除く)。したがって、PostgreSQLはインストールされていないため、アンインストールする必要はありません。これらのpostgresクライアントツールは、Appleが出荷したシステムに属しているため、削除しない方がよいでしょう。彼らはただ回避する必要があります。/usr/binpsql/usr/bin

postgres.appが提供するパッケージには、PostgreSQLサーバーと、このサーバーと同じバージョンのクライアント側ツールの両方が含まれています。これらのツールはにインストールされます/Applications/Postgres.app/Contents/MacOS/bin

ターミナルで作業するときにAppleの9.1のものの代わりにこれらを使用するには、postgres.appのドキュメントに次のように記載されています。

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

.profileそしてそれをあなたのファイルに入れてください。

それを実行して実行するとpg_dump、postgres.app(現在は9.2.2)に付属しているバージョンであるため、バージョンが間違っているというエラーが発生することはありません。

私はこの設定をしていて、それは私にとっては問題なく動作します。

于 2013-01-05T15:50:29.857 に答える
35

pg_dump を最新バージョンにアップグレードする必要があるだけで、homebrew と mac がある場合、アプリには最新バージョンがあり、ローカル pg にはない場合:

brew upgrade postgresql

于 2015-05-15T01:30:22.283 に答える
7

postgresapp 9.3.x を使用している場合、パスは異なります。以下は私のために働いた( http://sigmyers.com/blog/2013/3/12/postgres-pgdump-version-mismatch-error-postgresapp-postgresappcomの礼儀)

export PG_BIN_PATH="/Applications/Postgres.app/Contents/Versions/9.3/bin/"
PATH=$PG_BIN_PATH:$PATH

最新のパスについては、こちらを確認してください: http://postgresapp.com/documentation/cli-tools.html

于 2014-09-27T03:28:17.247 に答える
2

Mountain Lion サーバーを実行しています。私の PostgeSQL サーバーはバージョン 9.2.1 で、デフォルトのツールは 9.1.5 です。

私は使用しなければなりませんでした:

PATH="/Applications/Server.app/Contents/ServerRoot/usr/bin:$PATH"

それを機能させるために。

于 2013-09-01T20:36:02.673 に答える
1

そうです、Postgres.app を実行すると、アップグレード後にこれが発生することがあります。必ず Postgres.app を再起動してください - PATH が更新されます。

于 2015-02-10T04:48:34.257 に答える