Уважаемый форум
Выполняю
elmg=# copy wve(x,y,z,x_,y_,z_,dt,tm,sid) from '/export/public/pdata/wv.sql' delimiters ',';
ERROR: missing data for column "dt"
CONTEXT: COPY wve, line 84: "000575,002781,001895,40021,67330112,1"
Файл wv.sql иногда в некоторых строках не содержит все поля (последовательность формирует оборудование), поэтому команда copy, в этом случае, не проходит.
Существует ли возможность, не загружая в таблицу wve неполные строки файла wv.sql, исполнить команду copy и загрузить правильные строки файла wv.sql?
Нет. Команда COPY как раз и
Нет. Команда COPY как раз и хороша тем, что грубо говоря грузит все данные в одну транзакцию. Транзакция же всегда работает по принципу "всё или ничего".
Удалить неполные строки перед
copy tablename from 'filename' with null as '' - как-то так или
удалить неполные строки перед выполненеим команды COPY, или перенести полные строки в другай файл и делать COPY из него.
Все поля обязательны
Для команды COPY все поля обязательны.
Данные, значений которых не существует, все равно должны быть представлены в каком-либо виде.
Задается параметром WITH NULL AS 'значение' (по умолчанию \N). Можно здесь указать и пустую строку, но в данных должны присутствовать все запятые, и, по-моему, между запятыми обязательны пустые кавычки - проверьте.
Так что исходный текст по-любому придется перед загрузкой обрабатывать - в отсутствующие значения вставлять '\N', например.
спасибо понял
спасибо понял