我试图将.txt文件导入PostgreSQL。 txt文件有6列:
Laboratory_Name Laboratory_ID Facility ZIP_Code City State
213行。
我尝试使用\copy
使用此命令将此文件的内容放入PostgreSQL中名为doe2
的表中:
\copy DOE2 FROM '/users/nathangroom/desktop/DOE_inventory5.txt' (DELIMITER(' '))
它给了我这个错误:
missing data for column "facility"
当我遇到这个错误并没有任何帮助时,我已经四处看看该怎么做了。还有其他人遇到过这个吗?
答案 0 :(得分:6)
三个可能的原因:
文件的一行或多行只有4个或更少的空格字符(您的分隔符)。
一个或多个空格字符已被转义(无意中)。也许在未加引号的值的末尾加上反斜杠。对于您使用的(默认)text
格式,the manual explains:
反斜杠字符(
\
)可以在COPY
数据中用于引用数据 否则可能被视为行或列分隔符的字符。
从具有匹配布局的表中读取时,COPY TO
或pg_dump
的输出不会出现任何这些错误。但是,您的文件可能已经过编辑,或者来自不同的错误来源?
\copy
元命令是COPY
的包装器,并读取客户端的本地文件。如果您的文件位于服务器上,请改用SQL命令COPY
。