Экспорт файла CSV в начальную таблицу postgres в разных средах - PullRequest
0 голосов
/ 09 ноября 2018

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

COPY table_name FROM '/path/to/file.csv' DELIMITER ';' CSV HEADER

Где я могу сохранить файл .csv в разных средах, которые не являются локальными? Например, когда я запускаю начальную миграцию в рабочей среде, где именно он получит файл .csv для заполнения таблиц в prod?

1 Ответ

0 голосов
/ 09 ноября 2018

У вас есть варианты, но все они сводятся к копированию с stdin.

Вы можете передать CSV клиенту psql.

cat dump.csv | psql -c 'COPY table_name FROM '/path/to/file.csv' DELIMITER ';' CSV HEADER'

Или вы можете использовать \copy ... from stdin внутри psql.

Или вы можете использовать pg_restore инструмент , который в основном делает то же самое, но приятнее в использовании и имеет множество опций.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...