我的csv中有以下格式的文字:
'0001'|'text1'|'\ntext2'|'text3'\n
然而,当我尝试将数据导入我的postgres实例时,它会认为第一个换行符是新行的开头而不断突破。有没有一种简单的方法可以告诉postgres将换行符输入到字段中?
答案 0 :(得分:-1)
如果明确设置了分隔符,则可以避免解释特殊字符的麻烦,而是按字面意思理解。关于报价,可以说同样的事情。解析器需要知道如何识别字符串以不将\n
解释为newline
。
反斜杠字符()可以在COPY数据中用于引用数据 否则可能被视为行或列分隔符的字符。 特别是,以下字符必须以a开头 反斜杠,如果它们作为列值的一部分出现:反斜杠本身, 换行符,回车符和当前分隔符。
所以,你可能有
COPY data FROM STDIN WITH CSV HEADER DELIMITER E'|' QUOTE E'\'';