【发布时间】:2020-11-12 21:55:02
【问题描述】:
我已将 oracle 数据库表数据导出到 csv 文件中,并通过命令提示符使用 '\copy' 命令将相同的数据导入到 postgres 数据库中。由于时间戳问题,导入时出现错误
psql 命令:
\copy "CSV_IMPORT"."DUMMY_TABLE" FROM 'D:\Database_Auto\DUMMY_TABLE_DATA.csv' DELIMITER ',' CSV HEADER;
CSV_IMPORT is the schema name
DUMMY_TABLE is the table name
错误:
ERROR: invalid input syntax for type timestamp with time zone: "21-JUN-07 06.42.43.950926000 PM"
CONTEXT: COPY DUMMY_TABLE, line 2, column updated_date: "21-JUN-07 06.42.43.950926000 PM"
如果我使用: 而不是. 将时间戳数据修改为21-JUN-07 06:42:43.950926000 PM,则导入记录时不会出现任何错误。我无法手动处理 csv 文件中的数百万条记录。通过 psql 命令的任何解决方案。
表创建脚本:
创建表“CSV_IMPORT”。“DUMMY_TABLE”
(
ID VARCHAR(100) 非空
, DOCK_TYPE VARCHAR(1) 非空
, START_DATE TIMESTAMP(6) WITH TIME ZONE NOT NULL
, UPDATE_SEQ_NBR 双精度非空
, END_DATE TIMESTAMP(6) 与时区
, 约束 PK_DUMMY_TABLE 主键
(
ID
, DOCK_TYPE
, 开始日期
, UPDATE_SEQ_NBR
)
);
CSV 文件中的表格数据:
"ID","DOCK_TYPE","START_DATE","UPDATE_SEQ_NBR","END_DATE"
"756748","L",21-JUN-07 06.42.43.950926000 PM,1,21-JUN-07 06.42.43.950926000 PM
"658399","T",15-NOV-03 02.59.54.000000000 AM,2,15-NOV-03 02.59.54.000000000 AM
"647388","F",19-NOV-04 11.09.05.000000000 PM,3,19-NOV-04 11.09.05.000000000 PM
【问题讨论】:
-
欢迎来到 SO。您能否还添加
CREATE TABLE语句和导致导入失败的数据样本? -
嗨,Jim Jones,我添加了 Create statemen 和示例 csv 数据文件 FYR
标签: postgresql csv import copy command