Postgresql - 64个字符后省略COPY FROM值

时间:2014-06-12 17:16:18

标签: sql postgresql debian postgresql-9.1

我试图将文本文件中的数据插入到Postgres表中。但是,复制后似乎缺少一些数据。

文本文件

  

TRUE | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbb | 4096 |%2Ftest%2F | 2013年3月12日   04:02:15.572433 | 777 | 4 | 2014-06-12 11:47:05.359879

SQL查询

  

COPY" table_name" FROM' / tmp / textfile' DELIMITER' |'空值   '无&#39 ;;

结果

not sure

输入:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbb

结果:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa / a>

最后4个字符发生了什么变化?

似乎超出64个字符的所有内容都被省略了。我在Postgres COPY documentation中找不到任何关于某种缓冲区的提及,所以我不确定这里发生了什么。有人有想法吗?

  • 操作系统:Debian 7.4 - 3.2.0-4-686-pae(x86)
  • Postgres:9.1.13

1 个答案:

答案 0 :(得分:1)

将列filename的数据类型设置为text或varchar(n)。其中n是该列的最大长度