Sie müssen keine temporäre Tabelle für COPY TO
erstellen . Jede Abfrage kann seit PostgreSQL 8.2 die Quelle sein .
COPY (SELECT * FROM view1) TO '/var/lib/postgres/myfile1.csv';
Lesen Sie das Handbuch über COPY . Erstellen Sie die benötigten Tabellen lokal mit
CREATE table tbl1 AS
SELECT * FROM view1
LIMIT 0; -- no data, just the schema.
Kopieren Sie die DDL-Anweisungen und erstellen Sie alle Tabellen in der Zieldatenbank. pgAdmin ist eine praktische GUI, um das zu tun. Löschen Sie die leeren Tabellen in der Quelldatenbank erneut. Daten laden mit
COPY tbl1 FROM '/var/lib/postgres/myfile1.csv';
Dump / Restore wie @wildplasser es beschreibt, ist ein anderer Weg.
Für eine einmalige Überweisung ist eine dieser Methoden ratsam. Für wiederholte Bewerbung dblink oder SQL/MED (Verwaltung externer Daten) möglicherweise besser geeignet.