Toggle navigation
PostgreSQL中文社区
首页
(current)
社区新闻
中文文档
加入ACE
相关资料
了解PostgreSQL
PostgreSQL相关文档
PostgreSQL软件下载
PostgreSQL中文图书
社区年会PPT资料
关于中文社区
注册
登录
全部
Bug
使用技巧
内容问题
建议
系统安装
集群复制
其他
首页
有问有答(FAQ)
【Bug】
类主题列表
DSL
pg_bulkload 批量从文件向表中导入数据异常 ...
... 2019-04-03 12:37:56+08...1楼
近日 ,我发现 通过 pg_bulkload(3.1.14)批量加载文件数据向表插入数据时, 如果我想在处理中途对数据进行一个加工处理后再向表中插入的话,表中的定义项目的位数限制都失效了。 也就是说即使文件数据中有位数超过表定义的字段也会被成功插入表中。 我的实装方式是 : Shell文件(用pg_bulkload命令来加载文件数据),为了实现对加载的数据进行中途处理,我利用了CTL文件(在该文件定义了Filter函数,该函数用于加工中途数据) CTL文件定义例: FILTER= fvua001 Filter函数实装例:(就是把读入的数据再加一个null列,插入到表中) create function FVUA001(varchar,varchar) returns record as $BODY$ select row($1,$2,null) $BODY$ language sql volatile cost 100; 但如果采取这种方式向表插入数据的话, 表定义的字段长度限制就失效了, 即使超长的数据也不会被检测出来 。 我也尝试过 如果不采用Filter函数 中途编辑数据,直接插入某一个表的话 ,那表字段长度定义的限制就会因为数据超长而无法插入数据。 请有经验的高人能给与指点。 多谢。
我的签名:
您还没有登录,请您登录后再发表回复
© 2010 PostgreSQL中文社区