В прошлом я успешно выполнял скрипт, который выгружает данные с одного Postgres сервера и передает их на другой сервер. В основном это было так: псевдокод :
psql target-database -c "truncate foo"
pg_dump source-database --data-only --table=foo | psql target-database
Команда pg_dump
выводит обычные SQL команды, которые можно передать в принимающую команду psql
, которая затем вставляет данные.
Чтобы понять, как это работает, запустите pg_dump
для одной таблицы, а затем посмотрите на вывод. Вам нужно настроить команду, чтобы получить именно то, что вы хотите (например, используя --no-owner
, чтобы избежать отправки настроек доступа).