У меня есть много XML файлов, которые я хотел бы импортировать в таблицу xml_data
:
create table xml_data(result xml);
Для этого у меня есть простой bash script с циклом:
#!/bin/sh
FILES=/folder/with/xml/files/*.xml
for f in $FILES
do
psql psql -d mydb -h myhost -U usr -c \'\copy xml_data from $f \'
done
Однако это попытается импортировать каждую строку каждого файла в отдельную строку. Это приводит к ошибке:
ERROR: invalid XML content
CONTEXT: COPY address_results, line 1, column result: "<?xml version="1.0" encoding="UTF-8"?>"
Я понимаю, почему это не удается, но не может понять, как сделать \copy
для импорта всего файла сразу в одну строку.