Pro COPY TO
nemusíte vytvářet dočasnou tabulku . Jakýkoli dotaz může být zdrojem od PostgreSQL 8.2 .
COPY (SELECT * FROM view1) TO '/var/lib/postgres/myfile1.csv';
Přečtěte si příručku o COPY . Vytvořte potřebné tabulky lokálně pomocí
CREATE table tbl1 AS
SELECT * FROM view1
LIMIT 0; -- no data, just the schema.
Zkopírujte instrukce DDL a vytvořte všechny tabulky v cílové databázi. pgAdmin je jedno pohodlné GUI, se kterým to můžete udělat. Znovu smažte prázdné tabulky ve zdrojové databázi. Načíst data pomocí
COPY tbl1 FROM '/var/lib/postgres/myfile1.csv';
Vypsat / obnovit, jak to popisuje @wildplasser, je další způsob.
Pro jednorázový přenos je vhodná jedna z těchto metod. Pro opakovanou aplikaci dblink nebo SQL/MED (Správa externích dat) může být vhodnější.