类型日期的输入语法无效

Invalid Input Syntax for Type Date

我正在尝试通过 CMD 中的命令行将数据远程加载到 PosgreSQL 数据库,将数据从 CSV 文件复制到特定 Table。它运行良好,但是,不知何故,当我现在尝试加载数据时,CMD 抛出这个错误

奇怪的是,CSV 文件在日期类型中有“fecha_carga”字段,并且以这种方式存储在数据库中的 table 中,这是我的尝试:

psql -h suggestedorder.postgres.database.azure.com -d DataAnalytics -U dev_ext@suggestedorder -c "TRUNCATE planning.env_cat_bloqueados" -c "\copy planning.env_cat_bloqueados (key, bloqueado, fecha_carga)from 'C:\Users\geradiaz.MODELO\Desktop\Envase\Catalogos\Outputs_Catalogos\Catalogo_Bloqueados\Catalogo_Bloqueados_Output.csv'with delimiter as ','

谁能给我解释一下这是怎么回事?我该如何解决?

致以最诚挚的问候和感谢!

首先请不要使用图片作为文本数据,而是复制和粘贴文本。其次,我猜测 CSV 文件有一个 header,该字段的列标题为 fecha_carga。由于您没有在 WITH 中指定 HEADERDELIMITER,因此 COPY 将 header 行作为数据,而 fecha_carga 不是有效日期。

@Adrian Klaver 的评论让我知道我的命令行出了什么问题,实际上我的 CSV 文件上的字段被当作数据,所以我更改了命令行,指定我的 CSV 文件有 headers 通过在末尾使用下一条指令代替 with delimiter as ',' :

with (format csv, header) 

所以,这是整个命令行:

psql -h suggestedorder.postgres.database.azure.com -d DataAnalytics -U dev_ext@suggestedorder -c "TRUNCATE planning.env_cat_bloqueados" -c "\copy planning.env_cat_bloqueados (key, bloqueado, fecha_carga)from 'C:\Users\geradiaz.MODELO\Desktop\Envase\Catalogos\Outputs_Catalogos\Catalogo_Bloqueados\Catalogo_Bloqueados_Output.csv'with (format csv, header)

谢谢!