首页 文章

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

提问于
浏览
0

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

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

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

1 回答

  • -1

    如果明确设置了分隔符,则可以避免解释特殊字符的麻烦,而是从字面上理解 . 引用也可以说同样的事情 . 解析器需要知道如何识别字符串以不将 \n 解释为 newline .

    这是documentation

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

    所以,你可能有

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

相关问题