私はまさにこのことをしなければならなかったので、ここにレシピを投稿すると思いました。これは、両方のデータベースが同じサーバー上にあることを前提としています。
まず、テーブルを古いデータベースから新しいデータベースにコピーします。コマンドラインで:
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>;
完了しました!