You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将CSV中的datetime列导入PostgreSQL并解决datestyle相关报错

问题原因

你的CSV文件中日期格式为DD/MM/YYYY(日/月/年),而PostgreSQL默认的datestyle配置为MDY(月/日/年),导入时会将31/10/2020中的31识别为月份,因此触发数值超出范围的报错:

ERROR: date/time field value out of range: "31/10/2020 19:39"
HINT: Perhaps you need a different "datestyle" setting.

适配你场景的datestyle格式

你需要使用DMY(日/月/年)的日期顺序配置,和你CSV里的日期字段格式完全匹配。

调整方案

1. pgAdmin导入/导出按钮快捷方案(无需改数据库配置)

在导入向导的设置步骤中,找到日期格式(Date format)配置项,直接填入DD/MM/YYYY,时间格式填入HH24:MI,即可直接识别你的CSV日期值。

2. 临时调整(仅对当前数据库会话生效,适合单次导入)

连接到PostgreSQL数据库后,执行以下SQL命令即可完成配置:

SET datestyle = 'ISO, DMY';

可执行SHOW datestyle;验证配置是否生效,确认后重新执行导入操作即可。

3. 全局永久调整(对所有新连接生效)

找到PostgreSQL的配置文件postgresql.conf,找到datestyle配置项,修改为:

datestyle = 'iso, dmy'

保存后执行以下SQL重载配置即可生效,无需重启数据库服务:

SELECT pg_reload_conf();

4. COPY命令导入专属方案

如果你用COPY命令手动导入CSV,可直接在命令中指定日期格式,无需修改其他配置:

COPY 你的表名 FROM '你的CSV文件绝对路径' WITH (
    FORMAT csv,
    HEADER, -- 如果CSV第一行是表头则保留该参数,否则删除
    DATEFORMAT 'DMY'
);

内容的提问来源于stack exchange,提问作者Uzor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 18:45:01