Как использовать psql для копирования строк?

#postgresql

#postgresql

Вопрос:

У меня есть 2 базы данных на двух разных серверах.

Как я могу скопировать с помощью psql все недостающие строки из таблицы db1 в таблицу db2? Если это невозможно.. Как я могу скопировать всю таблицу?

Ответ №1:

Можете ли вы использовать модуль contrib? Если да, то как насчет того, чтобы попробовать dblink. Больше информации здесь

Ответ №2:

Это невозможно с psql напрямую, используя одну инструкцию SQL, потому что вы не можете подключиться к двум разным серверам одновременно.

Единственный способ, которым вы можете это сделать:

  1. подключитесь к db1
  2. экспортируйте содержимое таблицы с помощью copy команды psql (если у вас есть доступ к серверу, вы также можете использовать инструкцию SQL COPY
  3. подключитесь к db1
  4. импортируйте текстовый файл, используя copy или COPY в зависимости от того, где расположен входной файл