Дамп содержимого RDS Postgres Query - PullRequest
0 голосов
/ 23 октября 2018

Краткая версия этого вопроса:

Я хотел бы вывести содержимое запроса Postgres из экземпляра базы данных, размещенного в RDS, внутри сценария оболочки.

Полная версия:

Прямо сейчас я пишу сценарий оболочки, который хотел бы вывести содержимое запроса в файл .dump из исходной базы данных и запустить файл дампа в экземпляре целевой базы данных.Оба экземпляра базы данных размещены в RDS.

MySQL позволяет вам делать это с помощью инструмента mysqldump , но рекомендуемый ответ на эту проблему в Postgres, по-видимому, заключается в использовании COPYкоманда .Однако команда COPY недоступна в экземплярах RDS .Рекомендуемое решение в этом случае, похоже, заключается в использовании команды '\ copy', которая делает то же самое локально, используя инструмент psql.Однако не похоже на то, что это вариант поддержки внутри сценария оболочки.

Каков наилучший способ сделать это?

Спасибо!

1 Ответ

0 голосов
/ 31 октября 2018

Я не знаком с оболочкой, но я использовал пакетный файл в Windows, чтобы вывести вывод запроса в файл и импортировать файл в другой экземпляр.

Вот что я использовал для экспорта из Postgres RDS в файл в Windows.

SET PGPASSWORD=your_password
cd "C:\Program Files (x86)\pgAdmin 4\v3\runtime"
psql -h your_host -U your_username -d your_databasename -c "\copy (your_query) TO 
path\file_name.sql"

Все вышеперечисленные команды находятся в одном командном файле.

...