Debian の pg_dump バージョンの不一致

Debian の pg_dump バージョンの不一致

私はDebian Unstable / SidでPostgreSQLを実行しています。postgresql、、、(143)の現在のバージョン(9.1)をインストールしましたpostgresql-clientpostgresql-client-common

私が経験している問題は、pg_dump次のエラーが発生することを実行することです。

pg_dump: server version: 9.1.9; pg_dump version: 9.0.6
pg_dump: aborting because of server version mismatch

最新バージョンを入手する方法がわからないようです。私はパッケージpg_dumpから来たようで実行してみましたが、pg_dumpの最新バージョンが提供されていません。postgresql-client-commonapt-get --reinstall

この問題をどのように解決できますか?それとも、最新バージョンを含むパッケージをどこで見つけることができますかpg_dump

答え1

効果がある可能性があるもう1つのオプションは、以前の並列バージョンを削除することです。

Debian/Ubuntu から:

sudo apt-get remove postgresql-8.4
sudo apt-get remove postgresql-client-8.4

これにより、最新バージョン(9.1など)が維持され、古い8.4クライアントおよびサーバーライブラリのみが削除されます。

答え2

私の場合は2つのデータベースセットがあり、いくつかは以前のバージョンのPostgresql 8.4で実行され、他のものはバージョン9.1で実行されます。私がしたことは、次のコマンドを使用してpg_dumpLinuxシステムで見つけることです。locate

$ locate pg_dump

/usr/bin/pg_dump
/usr/bin/pg_dumpall
/usr/lib/postgresql/8.4/bin/pg_dump
/usr/lib/postgresql/8.4/bin/pg_dumpall
/usr/lib/postgresql/9.1/bin/pg_dump
/usr/lib/postgresql/9.1/bin/pg_dumpall

デフォルト/usr/bin/pg_dumpはPostgresqlバージョン8.4なので、/usr/lib/postgresql/9.1/bin/pg_dump別のポートで実行されている9.1データベースからダンプするときにコマンドラインでそれを指定し、正しく機能しました。

$ /usr/lib/postgresql/9.1/bin/pg_dump -p 5434

答え3

いくつかのオプションがあります。

Postgresサイトから.deb 9.1をダウンロードしてください。

次のタイトルのこのページを見てください。Linuxダウンロード(Debian) - PostgreSQL。更新された .deb をサイトから直接ダウンロードするか、そのリポジトリを再指定して、次のコマンドを実行できます。

apt-get install postgresql-9.1

Debian バックポート

ここで特定のバージョンを見つけることができます。http://backports.debian.org/

一般バージョンの使用

あなたはできますPostgreSQLバイナリバージョンのダウンロードたとえば、ホームディレクトリにインストールします/opt

企業向けに事前に構築されたバージョンの1つをダウンロードしてください。

私はこれについての経験はあまりありませんが、あなたはできます次のいずれかをダウンロードしてください。汎用バージョンに似ており、インストールされているクライアントを使用してデータベースをそのままダンプします。

クロス配布パッケージ

あなたはできますパッケージをダウンロード展開とは独立して構築されます。私はバージョン9.1.9をダウンロードしましたが、ここにpg_dumpツールが含まれています。

ソフトウェアは.rpmまたは.deb形式で提供され、インストールされます/opt/postgres/9.1。特にpg_dumpこのツールは/opt/postgres/9.1/bin/pg_dump

答え4

今日も同じ問題が発生しましたが、Ericの答えが最も正確なようです。問題はpostgresql-clientの他のバージョンがあり、pg_dumpが最も古いクライアントだけを使用していることです。

彼が説明するフルパスを使用すると、この問題を解決できますが、より簡単な解決策はpostgresql-client-commonパッケージをアンインストール(すべてのクライアントをアンインストール)してpostgresql-client-9.3を再インストールすることです。これにより、必要な最新バージョンのpg_dumpが残ります。

関連情報