我有CSV文件,标签分开,字段not用引号括起来,字段数据可以包含单引号、双引号、管道和反斜杠等字符.
示例数据可以如下所示:
1 2 "ba$aR\eR\ 18
我想使用COPY语句将这些数据导入Postgres.
当我try 使用
COPY <tablename> FROM <filename> NULL AS '';
我得到一个错误psql:-:1: ERROR: missing data for column
,因为Postgres将反斜杠+制表符视为"转义制表符",而不是后跟字段分隔符的反斜杠.
所以我转而使用复制操作符的"CSV格式",比如:
COPY <tablename> FROM <filename> WITH CSV DELIMITER E'\t' NULL AS '';
现在出现了一个新的错误psql:-:1: ERROR: value too long for type character varying(254)
显然是因为它将字段3开头的双引号解释为字段包装字符.
How can I specify that my data is NOT quoted at all?