0

9.2でデータベースを再インポートする目的でデータベース9.0をダンプすると、スキーマに問題が発生します。

たとえば、スキーマfooのテーブルバーは次のようにエクスポートされます。

SET search_path = foo, pg_catalog;
...
CREATE TABLE bar (
   ...
);
ALTER TABLE foo.bar OWNER TO johndoe;

テーブルバーはスキーマ'public'で作成されるため、9.2でこれをインポートすると期待どおりに機能しません。ALTER TABLEステートメントは「エラー:リレーション「foo.bar」が存在しません」で失敗します

ダンプファイルの*pg_dump*コマンドによって発行された'SETsearch_path'ディレクティブは、デフォルトのスキーマを設定しても問題ないと思いました(9.0でインポートすると機能します)が、9.2では機能しません。

明示的なスキーマ名でpg_dumpの出力を変える方法はありますか?構成ディレクティブを見逃していませんか?

助けてくれてありがとう!

ライオネル

4

1 に答える 1

0

ダンプファイルで明示的なスキーマ名が必要なすべての要素を置き換えたところ、うまくいきました...大したことはありません。

于 2012-10-07T19:25:16.637 に答える