ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

QNo.3899691 pg_restoreでエラー
質問者:titokani こんにちは。
PostgreSQL8.1.10を使っています。
pg_dumpでバックアップしたデータをpg_restoreでリストアするときに、エラーと警告が出てしまいます。
$ pg_dump -F c mydb > db.dump
$ dropdb mydb
$ pg_restore -C -d postgres db.dump
pg_restore: [アーカイバ(db)] TOC処理中にエラーがありました:
pg_restore: [アーカイバ(db)] TOCエントリ1514; 0 0 COMMENT SCHEMA public postgresのエラーです
pg_restore: [アーカイバ(db)] could not execute query: ERROR: スキーマpublicの所有者でなければなりません
Command was:
COMMENT ON SCHEMA public IS 'Standard public schema';
pg_restore: WARNING: 権限を取り上げられませんでした
pg_restore: WARNING: 権限を取り上げられませんでした
pg_restore: WARNING: 権限は付与されませんでした
pg_restore: WARNING: 権限は付与されませんでした
警告: リストアにてエラーを無視しました: 1

結果を確認した限りではリストアはされているようなのですが気になります。
このエラーはどういった理由で発生しているのでしょうか。
エラーを出さなくする方法はあるのでしょうか。
無視していいものならそれでも構わないのですが、理由は知っておきたいです。
困り度:
  • 困っています
質問投稿日時:
08/03/27 17:32
この質問に対する回答は締め切られました。

回答

ANo.1 (バックアップファイルを展開しTOCエントリファイル1514行以降に
必要な事をしていないと思えば無視して構わないとは思います)

pg_resotre -CでDBも作成しようとしていると思いますが
postgresのDBが存在しているか
postgres(DB)を作成した時の所有者がmydbと異なっているか
またはpg_dumpを旧バージョン(8.1よりまえ)の物を使用しているか
他は不明
回答者:alte_6
種類:補足要求
どんな人:一般人
自信:参考意見
回答日時:
08/03/31 19:11
この回答へのお礼ありがとうございます。
どうやら、バックアップの際に、publicなスキーマの情報も一緒にバックアップしてしまった結果、リストア時に戻せなくて困っているようです。

pg_restoreに-U posgresをつけて実行したところ、エラーも警告も出なくなりました。