我试图将一个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个单引号。