Не е необходимо да създавате временна таблица за COPY TO
. Всяка заявка може да бъде източник от PostgreSQL 8.2 .
COPY (SELECT * FROM view1) TO '/var/lib/postgres/myfile1.csv';
Прочетете ръководството за COPY . Създайте необходимите таблици локално с
CREATE table tbl1 AS
SELECT * FROM view1
LIMIT 0; -- no data, just the schema.
Копирайте DDL инструкциите и създайте всички таблици в целевата база данни. pgAdmin е един удобен GUI, с който да направите това. Изтрийте отново празните таблици в изходната база данни. Заредете данни с
COPY tbl1 FROM '/var/lib/postgres/myfile1.csv';
Изхвърляне / възстановяване, както го описва @wildplasser, е друг начин.
За еднократно прехвърляне се препоръчва един от тези методи. За повторно приложение, dblink или SQL/MED (Управление на външни данни) може да е по-подходящо.