Du behøver ikke oprette en midlertidig tabel for COPY TO
. Enhver forespørgsel kan være kilden siden PostgreSQL 8.2 .
COPY (SELECT * FROM view1) TO '/var/lib/postgres/myfile1.csv';
Læs manualen om COPY . Opret de nødvendige tabeller lokalt med
CREATE table tbl1 AS
SELECT * FROM view1
LIMIT 0; -- no data, just the schema.
Kopier DDL-instruktionerne og opret alle tabeller i mål-DB. pgAdmin er en praktisk GUI at gøre det med. Slet de tomme tabeller i kilde-db igen. Indlæs data med
COPY tbl1 FROM '/var/lib/postgres/myfile1.csv';
Dump/gendan som @wildplasser beskriver det, er en anden måde.
For en engangsoverførsel er en af disse metoder tilrådelig. For gentagen anvendelse, dblink eller SQL/MED (Styring af eksterne data) kan være mere egnet.