nat*_*oom 15 postgresql psql postgresql-copy
我正在尝试将.txt文件导入PostgreSQL.txt文件有6列:
Laboratory_Name Laboratory_ID Facility ZIP_Code City State
Run Code Online (Sandbox Code Playgroud)
213行.
我正在尝试使用此命令\copy将此文件的内容放入doe2PostgreSQL 中调用的表中:
\copy DOE2 FROM '/users/nathangroom/desktop/DOE_inventory5.txt' (DELIMITER(' '))
Run Code Online (Sandbox Code Playgroud)
它给了我这个错误:
Run Code Online (Sandbox Code Playgroud)missing data for column "facility"
当我遇到这个错误并没有任何帮助时,我已经四处寻找该怎么做了.有人遇到过这种情况么?
三个可能的原因:
文件的一行或多行只有4个或更少的空格字符(您的分隔符).
一个或多个空格字符已被转义(无意中).也许在未加引号的值的末尾加上反斜杠.对于text您使用的(默认)格式,手册说明:
\可以在COPY数据中使用反斜杠字符()来引用可能被视为行或列分隔符的数据字符.
从具有匹配布局的表中读取时,输出COPY TO或pg_dump不显示任何这些错误.但也许您的文件已被编辑或来自不同的错误来源?
\copypsql命令行界面的元命令是一个包装器,用于COPY读取客户端本地的文件.如果您的文件位于服务器上,请改用SQL命令COPY.仔细检查文件。就我而言,文件末尾的空行导致了ERROR: missing data for column. 删除了,效果很好。
打印空行可能会揭示一些有趣的事情:
cat -e $filename
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21476 次 |
| 最近记录: |