5

pgadmin3 ツールを使用して、system1 から Postgresql db のバックアップを取得しました。作成されるバックアップ ファイルの拡張子は「.backup」です。

postgresql 9.0 および pgadmin3 1.8 がインストールされた別の system2 に復元しようとしていますが、次のエラーが表示されます。

クエリを実行できませんでした: エラー: 認識されない構成パラメーター "lock_timeout" コマンドは: SET lock_timeout = 0;

両方のシステムの構成:

system1 win7-64bit postgresql 9.0.13-1 - 64bit pgadmin 1.8

system2 win7-32​​bit postgresql 9.0.13-1 - 32bit pgadmin 1.8

4

2 に答える 2

3

デフォルトでは、pgAdmin は独自のバイナリを使用します。この場合、使用している PostgreSQL のバージョンよりも高い (または低い) 可能性があります。データベースがローカルの場合、PostgreSQL のローカル インストールからバイナリを使用するように pgAdmin を構成できます。使用しているデータベースがリモートの場合、バイナリを使用できるように、そのバージョンの PostgreSQL のコピーをローカルにインストールすることを検討してください。

[Preferences] -> [Browser] -> [Binary paths]で、PG の bin パスを PostgreSQL のローカル インストール (またはデータベースと同じバージョンである限り、任意のローカル インストール) へのパスに設定します。

一度に 1 つのバージョンの PostgreSQL を主に使用し、最新の pgAdmin を使用している場合は、PG バイナリの新しい場所を構成するのが最適です。ただし、PostgreSQL の複数のバージョンを同時に使用する場合は、コマンド ラインを使用する方がよい場合があります。個人的には、その場合でも、pgAdmin を使用して復元を開始し、エラーを発生させてから、GUI が作成したコマンド ライン フラグ (ログ ファイルで確認できます) を使用して、ターミナル プログラムにコピー アンド ペーストします ( --no-passwordフラグを削除する必要がある場合があります)。

于 2015-07-09T15:47:07.737 に答える
2

lock_timeout は9.3 で導入されました。これは pgAdmin の問題のようです。バグとして報告する価値があります。

回避策として、コマンド ライン クライアント (テキスト バックアップの場合は psql、非テキスト論理バックアップの場合は pg_restore) を使用して復元を試みることができます。

于 2013-11-22T04:49:13.040 に答える