gpt4 book ai didi

postgresql - 使用 psql\copy 导入带有时间戳列 (dd.mm.yyyy hh.mm.ss) 的 .csv

转载 作者:行者123 更新时间:2023-11-29 11:17:14 25 4
gpt4 key购买 nike

我正在尝试使用 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: date/time field value out of range: "16.11.2012 07:10:06"

HINT: Perhaps you need a different "datestyle" setting.

CONTEXT: COPY trace, line 2, column timestamp_mes: "16.11.2012 07:10:06"

日期样式有什么问题?

最佳答案

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

SET datestyle = 'ISO,DMY';

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

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

Note: This command is unrelated to the SQL command SET.

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

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com