0

postgresqlデータベースを取得して、新しいデータベースにロードできるpostgresqlスキーマに変換する自動化された方法はありますか?

私はこれをいじって、やりたいことを行う2つの方法を見つけましたが、私の正直な意見では、どちらも面倒です:

  1. スクリプトの一部として、plain オプションを使用してデータベースで pg_dump を実行し、次にいくつかの sed tomfoolery を実行して、対応する変更を行います。ただし、これには痛みとバグが必要です。

  2. すべてのテーブル、シーケンス、データなどをデータベースのスキーマから psql 経由で新しいスキーマ名に転送し、そのスキーマ/データのみをダンプ/復元します。

おそらくオプション2を使用しますが、これを行う簡単な方法はありますか? ゼロから生成していた場合、これはもちろん些細なことですが、この方法で複数のシステム上の既存のデータベースを移行する必要がある可能性があります。

編集:後でこれを読む人のための明確化。基本的に、データベース 'A' のパブリック スキーマを取得し、それをデータベース 'B' の新しい名前付きスキーマにダンプ/復元しようとしています。データベース「B」は、その公開スキーマを他の目的で使用している場合と使用していない場合があるため、データベース「B」の公開スキーマの潜在的なデータを変更/変更せずに転送を行う必要があります。

4

1 に答える 1