Symfoware Serverのpg_dumpコマンドで抽出したアーカイブファイルを使用してリストアを実行した際のデータベースオブジェクトの存在/未存在/削除不可のエラーについて
- Symfoware Serverのpg_dumpコマンドで抽出したアーカイブファイルを使用して、pg_restoreコマンドでリストアを実行した際、以下のようなエラーになりました。原因と対処方法を教えてください。
・schema "@1@" already exists
・index "@1@" does not exist
・cannot drop @1@ because other objects depend on it - [原因]
pg_restoreコマンドを実行する際に、-cや-Cオプションを指定していること、または、-cや-Cオプションの指定が漏れていることが原因の可能性があります。
[対処方法]
以下を踏まえて、pg_restoreコマンドを実行する際の-cや-Cオプションの指定有無を検討してください。- リストア先のデータベースオブジェクトの作成状況
- リストア先にデータベースオブジェクトが作成されている場合は、そのデータベースオブジェクトに対する扱い(再作成/そのまま利用)
-c、-Cオプションの仕様は、以下のとおりです。- -cオプション(--cleanオプション)
リストア前に、データベースオブジェクトを削除します。 - -Cオプション(--createオプション)
リストア前に、データベースを作成します。-cオプションと同時に指定した場合は、データベースを削除したあと、再作成します。
※-cオプションを指定、かつ、データベースオブジェクトの未存在や削除不可エラーとなった場合は、リストアが正常に完了していれば、対処は不要です。
詳細は以下のマニュアルを参照してください。
FUJITSU Software Symfoware Server V12.4.0
PostgreSQL 9.5.2文書 (Solarisの場合は、PostgreSQL 9.6.2文書)
パート VI. リファレンス
PostgreSQLクライアントアプリケーション
pg_dump
pg_restore
なお、上記以外の製品バージョン/レベルについては、該当するマニュアル箇所を参照してください。
製品・サービス区分 | Symfoware | ||||
---|---|---|---|---|---|
製品・サービス情報 |
|
||||
アンサー種別 | 運用/保守 |