#postgresql
Вопрос:
Я пытаюсь импортировать текстовый файл в таблицу с одним столбцом, т. Е. Я не хочу, чтобы ни одна строка исходного файла была разделена на столбцы. Файл содержит множество различных символов (вкладки, запятые, пробелы), которые можно распознать как разделители. Поскольку bell ( CHR(7)
) не существует в файле данных, я выбрал его в качестве разделителя:
COPY data_table(single_column) FROM '/tmp/data' WITH ENCODING 'LATIN1' DELIMITER CHR(7);
К сожалению, это приводит к ошибке:
ОШИБКА: синтаксическая ошибка в или около «chr»
Каков был бы правильный синтаксис?
Комментарии:
1. какую версию postgresql вы используете?
2.
psql --version
возвращает psql (PostgreSQL) 13.4 (Ubuntu 13.4-0ubuntu0.21.04.1)
Ответ №1:
Вы не можете использовать там функцию. Используйте обозначение escape.
DELIMITER E'07'
Комментарии:
1. Спасибо! Это намного лучше, чем использовать шестнадцатеричный редактор для ввода символа колокола в сценарий…