web-dev-qa-db-ja.com

pg_dumpバージョンの不一致エラーを修正するには?

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を実行しています。

26
user1147171

OS X 10.8には、pg_dumpディレクトリに/usr/binバージョン9.1.4が付属し、psqlおよびclient-sidePostgreSQLツール。サーバーとしてのPostgreSQLがインストールされているという意味ではありません(OS X Server Editionがない場合)。 PostgreSQLはインストールされていないので、アンインストールする必要はありません。また、/usr/binにあるこれらのpostgresクライアントツールはAppleが出荷したシステムに属しているため、削除しない方が良いでしょう。彼らはただ傍観する必要があります。

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

ターミナルで作業するときにAppleの9.1の代わりにこれらを使用するには、postgres.app documentation を実行するように指示します。

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

.profileファイルに入れます。

これを実行してpg_dumpを実行すると、postgres.app(現在9.2.2)に付属しているため、間違ったバージョンであるというエラーは表示されなくなります。

私はこのセットアップを持っていますが、私にとってはうまくいきます。

29
Daniel Vérité

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

brew upgrade postgresql

29
drjorgepolanco

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

7
user1322092

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

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

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

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

2
samvax

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

1
Lukasz Muzyka

私の場合、postgresqlをhomebrew経由でインストールしており、実行可能ファイルは/usr/local/opt/[email protected]/binです。

または、ダンプをコピーし、実行を/Applications/Postgres.app/Contents/SharedSupportフォルダーに復元します

またはPdAgminでは、PG binパス(プロパティ->バイナリパス)をpostgreの実行可能ファイルのパスにポイントします