Я пытаюсь экспортировать / импортировать набор таблиц из базы данных PostgreSQL.
Я использую PSQL copy from
с stdin
из скрипта. Я прочитал, что данные (ранее полученные с использованием copy to
с stdout
) можно прочитать и разграничить с помощью команды escape \.
.
Из документации я не понял, что произойдет, если в ранее экспортированных данных появится \.
.
В частности, этот раздел документации (выделено мной) не совсем ясно об этом.
Для \copy ... from stdin
строки данных читаются из того же источника, что и
выдал команду, продолжающуюся до тех пор, пока \.
не будет прочитан или поток не достигнет
EOF. Эта опция полезна для заполнения таблиц внутри строки в SQL
файл сценария. Для \copy ... to stdout
вывод отправляется в то же место
как вывод команды psql, а состояние команды подсчета COPY не
напечатано (так как это может быть перепутано со строкой данных). Читать / писать
стандартный ввод или вывод psql независимо от текущей команды
источник или опция \ o, пишите из pstdin или в pstdout.
Может / должно ли \.
появиться в данных как-то сбежать?
В настоящее время я использую кодированный utf8
формат text
для экспорта / импорта.