Escape \ n при экспорте CSV с помощью команды COPY - PullRequest
0 голосов
/ 03 марта 2020

Мне нужно экспортировать различные таблицы в CSV для AWS Каталога клея, и я только что заметил главный showtopper:

Команда COPY не экранирует ввод новых строк в столбцах, а только заключает их в кавычки.

Что меня смущает еще больше, так это то, что я могу переключиться на TEXT и получить правильный формат - экранировать специальные символы - но у меня не может быть HEADER в этом формате!

COPY (%s) TO STDOUT DELIMITER ',' NULL ''

Is Есть ли способ получить и HEADER, и экранировать новую строку с помощью команды COPY?

Я надеюсь, что это мое упущение, поскольку код, очевидно, там.

1 Ответ

0 голосов
/ 03 марта 2020

Формат text не создает CSV, поэтому вы не можете получить заголовки или изменить разделитель. Это «внутренний» разделенный табуляцией формат PostgreSQL.

. Нет никаких положений, позволяющих заменять символы новой строки на \n в файле CSV, и это действительно приведет к неверному CSV (в зависимости от того, что большинство людей). думаю, стандарт не существует).

Вам придется постобработать файл.

...