別のデータベースからデータを転送する必要があります。古いデータベースは paw1.moviesDB と呼ばれ、新しいデータベースは paw1 です。各テーブルのスキーマは次のとおりです。
Awards (name of the table)(new DB)
Id [PK] Serial Award
Nominations (name of the table) (old DB)
Id [PK] Serial nominations
古いデータベースから新しいデータベースにデータをコピーするにはどうすればよいですか?
ベストアンサー1
まさにこのことを実行したかったので、ここでレシピを投稿することにしました。ここでは、両方のデータベースが同じサーバー上にあることを前提としています。
まず、古いデータベースから新しいデータベースにテーブルをコピーします。コマンドラインで:
pg_dump -U postgres -t <old_table> <old_database> | psql -U postgres -d <new_database>
次に、コピーしたテーブルの権限を新しいデータベースのユーザーに付与します。psql にログインします。
psql -U postgres -d <new_database>
ALTER TABLE <old_table> OWNER TO <new_user>;
\q
この時点では、新しいデータベースにコピーされたテーブルには、古いデータベースの名前が残っています<old_table>
。データを別の場所、たとえば に移動したい場合は<new_table>
、通常の SQL クエリを使用できます。
INSERT INTO <new_table> (field1, field2, field3)
SELECT field1, field2, field3 from <old_table>;
終わり!