【发布时间】:2018-03-21 22:10:05
【问题描述】:
我有一个 java 应用程序,它通过 JDBC 连接将数据从可能的大文件流式传输到 postgres RDS。
我正在使用以下适用于空整数类型的命令。
COPY tableName FROM STDIN with (format csv, delimiter E'\u0001', NULL '', QUOTE E'\u0005')
但这不适用于空日期字段 (PSQLException:错误:日期输入语法无效:“”)
如果我将命令修改为
COPY tableName FROM STDIN with (format csv, delimiter E'\u0001', NULL '\N', QUOTE E'\u0005')
它适用于日期字段,但不适用于整数字段。 (PSQLException:错误:整数的无效输入语法:“\N”)
我在这里看到了类似的问题,解决了整数字段的空值或日期字段的空值,但不是两者都适用,所以我想知道是否有一种方法可以指定适用于整数和日期字段的空值(或为不同数据类型指定多个不同空字符串的方法)
我真的很想使用 COPY,因为性能比解析文件和插入每条记录要好得多,所以希望这是可能的
【问题讨论】:
-
@VaoTsun,感谢您的回复。我找到了另一个解决方案,我在下面给出了答案
标签: java postgresql jdbc