1. ホーム
  2. postgresql

データベースを異なるスキーマでリストアしたい

2023-10-09 15:45:01

質問

という名前のデータベースのダンプを取得しました。 temp1 という名前のデータベースを、次のコマンドを使用してダンプしました。

$  pg_dump -i -h localhost  -U postgres -F c -b -v -f pub.backup temp1 

今、私は "db_temp" という別のデータベースにダンプを復元したいのですが、その際、すべてのテーブルを "db_temp" データベースにある "temp_schema" (fms temp1 データベースにあるデフォルトスキーマではなく) に作成したいだけなのです。

を使用してこれを行う方法はありますか? pg_restore コマンドを使う方法はありますか?

他のメソッドもよろしくお願いします

どのように解決するのですか?

pg_restore自体に方法はありません。できることは、pg_restoreを使ってSQL出力を生成し、それを例えばsedスクリプトで送信して変更することです。しかし、その sed スクリプトの書き方に注意する必要があります。