PostgreSQL, пытаясь скопировать столбец дат из CSV-файла в столбец таблицы - PullRequest
0 голосов
/ 24 марта 2020

У меня есть таблица PostgreSQL, которая содержит пустой столбец типа 'date'

Я пытаюсь скопировать значения даты из файла CSV.

Но возникает следующее:

COPY books (publication_date) FROM 'path/to/file/pub.csv' CSV;
ERROR:  date/time field value out of range: "11/31/2000"

Это значение находится в индексе 8178 в CSV, поэтому неисправен не весь файл.

Я не понимаю, почему, так как дата кажется идеальной ,

Итак, как я могу это исправить или заставить Postgres игнорировать ошибочные даты?

Ответы [ 2 ]

0 голосов
/ 24 марта 2020

Вам необходимо установить стиль даты в требуемый формат.
https://www.postgresql.org/docs/7.2/sql-set.html
https://www.postgresql.org/docs/9.1/runtime-config-client.html#GUC -DATESTYLE

SET datestyle = DMY;

0 голосов
/ 24 марта 2020
ERROR:  date/time field value out of range: "11/31/2000"

Я не понимаю, почему, так как дата кажется идеальной.

Ну, ноябрь всего 30 дней, поэтому дата действительно недействительна.

...