私はDebian Unstable / SidでPostgreSQLを実行しています。postgresql
、、、(143)の現在のバージョン(9.1)をインストールしましたpostgresql-client
。postgresql-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-common
apt-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_dump
Linuxシステムで見つけることです。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が残ります。