sql >> Database teknologi >  >> RDS >> PostgreSQL

Kopier resultater fra en PostgreSQL-visning i én DB til en tabel i en anden

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.



  1. Kopier data mellem forskellige databaser (begge er jdbc-understøttet)

  2. Returner en grupperet liste med forekomster ved hjælp af Rails og PostgreSQL

  3. Opdel kommaseparerede kolonnedata i yderligere kolonner

  4. Indsættelse af DEFAULT-værdi i en kolonne, når en parameter er NULL