sql >> Databasteknik >  >> RDS >> PostgreSQL

Kopiera resultat från en PostgreSQL-vy i en DB till en tabell i en annan

Du behöver inte skapa en tillfällig tabell för COPY TO . Vilken fråga som helst kan vara källan sedan PostgreSQL 8.2 .

COPY (SELECT * FROM view1) TO '/var/lib/postgres/myfile1.csv';

Läs manualen om COPY . Skapa de nödvändiga tabellerna lokalt med

CREATE table tbl1 AS
SELECT * FROM view1
LIMIT 0;   -- no data, just the schema.

Kopiera DDL-instruktionerna och skapa alla tabeller i måldb. pgAdmin är ett bekvämt GUI att göra det med. Ta bort de tomma tabellerna i käll-db igen. Ladda data med

COPY tbl1 FROM '/var/lib/postgres/myfile1.csv';

Dumpa / återställa som @wildplasser beskriver det, är ett annat sätt.

För en engångsöverföring är en av dessa metoder att rekommendera. För upprepad applicering, dblink eller SQL/MED (Hantering av extern data) kan vara lämpligare.



  1. Hjälp mig att lägga in Oracle-terminologi i SQL Server-terminologi

  2. Hur skickar jag List från Java till Oracle Procedur?

  3. Hur hämtar man kolumntotal när rader är paginerade?

  4. Oracle PLSQL trunkerar datetimes till 15 min block