sql >> Database >  >> RDS >> PostgreSQL

Kopieer resultaten van een PostgreSQL-weergave in de ene DB naar een tabel in een andere

U hoeft geen tijdelijke tabel te maken voor COPY TO . Elke zoekopdracht kan de bron zijn sinds PostgreSQL 8.2 .

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

Lees de handleiding over COPY . Maak de benodigde tabellen lokaal aan met

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

Kopieer de DDL-instructies en maak alle tabellen in de doel-db. pgAdmin is een handige GUI om dat mee te doen. Verwijder de lege tabellen in de bron-db opnieuw. Gegevens laden met

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

Dump / restore zoals @wildplasser het beschrijft, is een andere manier.

Voor een eenmalige overboeking is een van die methoden aan te raden. Voor herhaalde toepassing, dblink of SQL/MED (Beheer van externe gegevens) is misschien meer geschikt.



  1. Wijzig alle tabellen in de database

  2. Postgres gematerialiseerd pad - Wat zijn de voordelen van het gebruik van ltree?

  3. MySql-bitkolommen geven een raar groot getal terug in PHP 7.1 (niet in eerdere versies)

  4. Entity Framework-query's optimaliseren