Скопируйте данные из таблицы одного БД в таблицу другого БД с помощью запроса (обе таблицы имеют одинаковую структуру) - PullRequest
3 голосов
/ 17 сентября 2010

У меня две базы данных в одной схеме. Мой БД находится в Postgres. Я хочу скопировать данные любой таблицы (т.е. продукта) моего 1-го БД в ту же таблицу 2-го БД.

Можно ли сделать это с помощью запроса?

Ответы [ 3 ]

3 голосов
/ 17 сентября 2010

Невозможно сделать это как одну команду SQL (по крайней мере, без dblink), но, возможно, самый простой способ - это просто использовать канал между двумя psql - использовать COPY на обоих концах, по одному отправляя данные в формате CSV.другой получает его.

0 голосов
/ 17 сентября 2010

Это невозможно при установке vanilla PostgreSQL.

Если вы можете установить модули contrib, используйте dblink :

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

Это должно быть выполнено в целевой базе данных.

0 голосов
/ 17 сентября 2010

1001 * попробовать *

insert into db1.table1 select * from db2.table2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...