/ / Skopiuj dane z tabeli jednej bazy danych do tabeli innej bazy danych za pomocą zapytania (obie tabele mają taką samą strukturę) - sql, postgresql

Skopiuj dane z tabeli jednej bazy danych do tabeli innej bazy danych za pomocą zapytania (obie tabele mają taką samą strukturę) - sql, postgresql

Mam dwie bazy danych w tym samym schemacie. Moja db jest w Postgres. Chcę skopiować dane dowolnej tabeli (tj. Produktu) z mojej pierwszej bazy danych do tej samej tabeli drugiej bazy danych.

Czy można to zrobić za pomocą zapytania?

Odpowiedzi:

3 dla odpowiedzi № 1

Nie można tego zrobić jako pojedynczego polecenia SQL (przynajmniej niebez dblinka), ale najprostszym sposobem jest prawdopodobnie użycie potoku pomiędzy dwoma psqlami - używaj COPY na obu końcach, jeden wysyła dane w formacie CSV, a drugi otrzymuje.


0 dla odpowiedzi nr 2

próbować

insert into db1.table1 select * from db2.table2

0 dla odpowiedzi № 3

W wanilii nie jest to możliwe PostgreSQL instalacja.

Jeśli jesteś w stanie zainstalować moduły contrib, użyj dblink:

INSERT
INTO    product
SELECT  *
FROM    dblink
(
"dbname=sourcedb",
"
SELECT  *
FROM    product
"
) AS p (id INT, column1 INT, column2 TEXT, …)

To powinno zostać uruchomione w docelowej bazie danych.