postgres データベースのバックアップと復元に pg_dump と pg_restore を使用しています。
この質問に関連するドキュメントからの情報を次に示します。Pg_restore の場合、-C オプションは次のように記述されます。
-C
- 作成
復元する前にデータベースを作成します。--clean も指定されている場合は、 > > 接続する前にターゲット データベースを削除して再作成します。このオプションを使用すると、-d で指定されたデータベースは、最初の DROP DATABASE および CREATE DATABASE コマンドを発行するためだけに使用されます。すべてのデータは、アーカイブに表示されるデータベース名に復元されます。
ただし、pg_restore でこのオプションを使用しても、次のエラーが発生します。
pg_restore: [archiver (db)] データベース "test" への接続に失敗しました: FATAL: > データベース "test" が存在しません
説明によると、 -C オプションは不足しているデータベースを作成する必要があります。ただし、私の場合はそうではありません。
以下は、バックアップと復元のために行った手順です。
- pg_dump を使用してデータベースをバックアップする
pg_dump -N backup -d test --format custom -v -h xxhostxx -p 5432 -U xxuserxx --lock-wait-timeout 300000 -f test_pg_dump.dmp
注: -C オプションはプレーンテキスト形式でのみ意味があるため、使用しないでください
テストデータベースを削除しました
pg_restore を使用してデータベースを復元する
pg_restore -C -d test -v -h xxhostxx -p 5432 -U xxuserxx test_pg_dump.dmp**
ここで何が問題なのか理解できません!私は何か間違っていますか?さらに情報が必要な場合はお知らせください。