Копировать данные между базами данных postgres

Мне как раз нужно скопировать данные из одной таблицы в базе данных PostgreSQL в соответствующую таблицу в другой базе данных. Там не так много данных: около 2500 строк, 8 столбцов (некоторые числовые, некоторые varchar).

Моей первой мыслью было просто pg_dump -a -t table -f output.file а потом pg_restore в другой базе данных. Однако, как оказалось, версии pg_dump и исходный сервер не совпадает - и я не имею контроля над версиями, поэтому обновление не вариант:

pg_dump: server version: 9.1.2; pg_dump version: 9.0.5
pg_dump: aborting because of server version mismatch

К сожалению, с 9-й версией Postgres, опция -i (игнорировать версию) больше не доступно. Я знаю, что я делаю, но это все равно не позволило бы мне (естественно).

Какие еще варианты у меня есть?

1 ответ

Решение

Я хотел бы использовать COPY TO а также COPY FROM, Работает в любой из версий и является оптимальным инструментом для этого.

Если вы хотите использовать pg_dump, вы должны использовать соответствующую версию. Есть отдельные исполняемые файлы для каждой версии. В Linux вы можете получить путь к используемому в данный момент исполняемому файлу с помощью which pg_dump,

Другие вопросы по тегам