sql >> Databáze >  >> RDS >> PostgreSQL

Zkopírujte výsledky z pohledu PostgreSQL v jedné DB do tabulky v jiné

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ší.



  1. Přístup k databázím kontejneru docker mysql

  2. Nahraďte název tabulky proměnnou. Použití pythonu a mysql konektoru

  3. Příkazy IF-THEN-ELSE v postgresql

  4. TypeError:create() má více hodnot pro argument klíčového slova 'context'