COPY TO
の一時テーブルを作成する必要はありません 。 PostgreSQL8.2以降のクエリはすべてソースになります 。
COPY (SELECT * FROM view1) TO '/var/lib/postgres/myfile1.csv';
コピーに関するマニュアル をお読みください 。
を使用して必要なテーブルをローカルに作成しますCREATE table tbl1 AS
SELECT * FROM view1
LIMIT 0; -- no data, just the schema.
DDL命令をコピーして、ターゲットデータベースにすべてのテーブルを作成します。 pgAdmin これを行うのに便利なGUIの1つです。ソースデータベースの空のテーブルを再度削除します。
でデータを読み込むCOPY tbl1 FROM '/var/lib/postgres/myfile1.csv';
@wildplasserが説明しているように、ダンプ/復元は別の方法です。
1回限りの転送では、これらの方法の1つをお勧めします。繰り返し適用する場合は、 dblink
または