COPY命令在字符串值中使用逗号 - Postgresql 10

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了COPY命令在字符串值中使用逗号 - Postgresql 10相关的知识,希望对你有一定的参考价值。

我试图将一个dat文件的内容复制到PostgreSQL中的表但是收到错误。 dat文件包含以下内容:

1,'"{{text}}","{{NoName}}":"{test},{OneName}:{test}"'

表格架构:

Create Table TestInfo (ID int, TestValues text);

我运行以下查询:

COPY Test from '/opt/Data/TestInfo.dat' WITH DELIMITER AS ',' NULL AS '';

但得到以下错误

ERROR:  extra data after last expected column

甚至尝试过

COPY Test from '/opt/Data/TestInfo.dat' WITH DELIMITER AS ',' csv;

仍然是相同的错误....有人可以帮助我将数据文件的内容复制到数据库?

谢谢

答案

我怀疑这是因为因为Postgres中quote命令的默认copy字符是双引号,并且它出现在你的csv中,它只是一个单引号。

试试这个:

COPY Test from '/opt/Data/TestInfo.dat' WITH DELIMITER AS ',' QUOTE AS '''' NULL AS '';

请注意需要转义单引号,从而产生4个单引号。

以上是关于COPY命令在字符串值中使用逗号 - Postgresql 10的主要内容,如果未能解决你的问题,请参考以下文章