Я использую Postgres 9.5.3 (В Ubuntu 16.04) и у меня есть таблица с некоторыми timestamptz
полямиPostgres: Ошибка при использовании COPY из CSV с типом timestamptz
...
datetime_received timestamptz NULL,
datetime_manufactured timestamptz NULL,
...
я использовал следующую команду SQL для генерировать CSV файл:
COPY (select * from tmp_table limit 100000) TO '/tmp/aa.csv' DELIMITER ';' CSV HEADER;
и используется:
COPY tmp_table FROM '/tmp/aa.csv' DELIMITER ';' CSV ENCODING 'UTF-8';
импортировать в таблицу.
Пример строк в файле CSV:
CM0030;;INV_AVAILABLE;2016-07-30 14:50:42.141+07;;2016-08-06 00:00:000+07;FAHCM00001;;123;;;;;1.000000;1.000000;;;;;;;;80000.000000;;;2016-07-30 14:59:08.959+07;2016-07-30 14:59:08.959+07;2016-07-30 14:59:08.959+07;2016-07-30 14:59:08.959+07;
Но я сталкиваюсь следующее сообщение об ошибке при выполнении второй команды: часовой пояс
ERROR: invalid input syntax for type timestamp with time zone: "datetime_received"
CONTEXT: COPY inventory_item, line 1, column datetime_received: "datetime_received"
Моей базы данных является:
show timezone;
TimeZone
-----------
localtime(GMT+7)
(1 row)
Есть ли какой-либо недостающий шаг или неправильная конфигурация?
Любые предложения приветствуются!
Что делают строки в '/ tmp/aa.csv' ... – donkopotamus
@donkopotamus Отредактировано;) –
Просто подозрение: измените' 2016-08-06 00: 00: 00 + 07' на '2016- 08-06 00: 00: 00.000 + 07' в этой строке и запустите его снова, пожалуйста. –