我想使用psql \COPY
命令(而不是SQL COPY)将.csv文件中的数据导入到PostgreSQL 9.2数据库中。
.csv输入文件包含一个以dd.mm.yyyy hh.mm.ss格式表示的时间戳列。
我已经设置了数据库的日期样式为DMY。
set datestyle 'ISO,DMY'
不幸的是,当我运行\COPY
命令时:
\COPY gc_test.trace(numpoint,easting,northing,altitude,numsats,pdop,timestamp_mes,duration,ttype,h_error,v_error)
FROM 'C:\data.csv' WITH DELIMITER ';' CSV HEADER ENCODING 'ISO 8859-1'
我遇到了这个错误:
ERROR:日期/时间字段值超出范围:“16.11.2012 07:10:06”
HINT:也许您需要不同的“datestyle”设置。
CONTEXT:复制跟踪,第2行,列时间戳_mes:“16.11.2012 07:10:06”
datestyle 的问题在哪里?
\copy
之前,在你的会话中发出所述的SQL命令。然后该设置仅更改该会话。 - Erwin BrandstetterSET datestyle ='ISO,DMY';
然后是\copy命令。导入成功。非常感谢您的帮助。 - jatobatto_timestamp()
。参考链接:https://dev59.com/iWMk5IYBdhLWcg3w2RaT#18919571 - Erwin Brandstetter