Postgres使用字面分隔符的COPY命令

5

我试图使用COPY命令将一个逗号分隔的CSV文件导入PostgreSQL表中。然而,CSV文件的分隔符是逗号 (,),但是其中也有一个包含逗号的文本字段。例如:

COPY schema.table from '/folder/foo.csv' delimiter ',' CSV header

以下是foo.csv文件的内容:

Name,Description,Age
John,Male\,Tall,30

如何区分字面逗号和分隔符?感谢您的帮助。

1
问题在于这并不是真正的CSV。CSV期望分隔符字符被引用,而普通的CSV不允许转义分隔符。请参考Clodoaldo的答案。 - Craig Ringer
1个回答

4

为了将\识别为转义字符,需要使用文本格式。

COPY schema.table from '/folder/foo.csv' delimiter ',' TEXT

但是,由于HEADER选项仅适用于CSV格式,因此还需要删除第一行。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接