postgresSQLでdumpした後、リストアしたいのですが
pg_restore -C -d DB名 バックアップファイル名
でリストアしたいのですがdatabaseがdoes not existになります。
Cオプションを使用すればリストア前にdオプションで指定された名前でDB作成されると見たのですが間違ってますでしょうか??
Version
psql (PostgreSQL) 11.5
OS
Windows11
そもそもどうやってダンプしたものでしょうか。pg_dumpコマンドかpg_dumpallコマンドか。
すいません言葉足らずでした。
`pg_dump -Fc database名 > backup_file名 ` です。
アーカイブ形式なのでpg_restore コマンドは使える認識です。
質問は編集できるので本文提示を。
>Versionは11系統です。
マイナーバージョンまで含めてバージョンコマンドで出る内容そのまま提示してください。
導入したOSとバージョンも含めて
実際に打ったコマンドです。
pg_dump -Fc -U postgres sdp > sdp_cli.dmp
pg_restore -C -d hogehoge -Fc -U postgres sdp_cli.dmp
エラー内容
pg_restore: [アーカイバ(db)] データベース"hogehoge"への接続が失敗しました: FATAL: database "hogehoge" does not exist
>Cオプションを使用すればリストア前にdオプションで指定された名前でDB作成されると見たのですが
その出典(考察の根拠)を明示してください。
https://qiita.com/rice_american/items/ceae28dad13c3977e3a8
この方の記事を参考にしたのですが、ちょっと私の解釈がずれてる可能性がありますね・・
公式のリファレンスを見ると「このオプションがある場合、-dで指定したデータベースは最初のDROP DATABASEとCREATE DATABASEコマンドの発行時にのみ使用されます。」なのでdoes not existは当たり前ですね・・
回答1件
あなたの回答
tips
プレビュー