我正在尝试使用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'
我收到此错误:

日期样式有什么问题?

最佳答案

您是否尝试过设置 datestyle setting of the server

SET datestyle = 'ISO,DMY';

您正在使用psql元命令\copy,这意味着输入文件在客户端本地。但是仍然是服务器必须将输入强制为匹配的数据类型。

更一般地说,与psql元命令\copy不同,后者在服务器上调用COPY并与其密切相关..我引用the manual concerning \set :

关于postgresql - 使用psql\copy导入带有时间戳列(dd.mm.yyyy hh.mm.ss)的.csv,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14042452/

10-16 21:43