在POSTGRESQL中使用COPY时如何处理换行符

时间:2014-07-13 15:57:53

标签: postgresql

我的csv中有以下格式的文字:

'0001'|'text1'|'\ntext2'|'text3'\n

然而,当我尝试将数据导入我的postgres实例时,它会认为第一个换行符是新行的开头而不断突破。有没有一种简单的方法可以告诉postgres将换行符输入到字段中?

1 个答案:

答案 0 :(得分:-1)

如果明确设置了分隔符,则可以避免解释特殊字符的麻烦,而是按字面意思理解。关于报价,可以说同样的事情。解析器需要知道如何识别字符串以不将\n解释为newline

这是documentation

  

反斜杠字符()可以在COPY数据中用于引用数据   否则可能被视为行或列分隔符的字符。   特别是,以下字符必须以a开头   反斜杠,如果它们作为列值的一部分出现:反斜杠本身,   换行符,回车符和当前分隔符。

所以,你可能有

COPY data FROM STDIN WITH CSV HEADER DELIMITER E'|' QUOTE E'\'';