copy导入ERROR:value too long for type……

错误描述

客户的gaussdb数据库,由于权限有限。只有tdss客户端工具和gsql工具。现在是需要将一个较大的表,移到其他database的schema下。

使用以下方法,对于较小的表都成功了

复制代码
#导入t1
copy t1 from '/data/input/t1.txt' delimiter '^';
#导出t1
copy t1 to '/data/input/t1_output.txt' delimiter '^'; 

然后在处理一张2000w行的大表时。导出成功,导入时报错ERROR:value too long for type......

分析尝试

1、尝试修改了较短的列,然后发现有多个列要改长度。最终确定是列错位,列顺序偏移了一位

2、尝试换过其他的分隔符(空格),仍然报错,且报错行数一致

3、尝试切分文件,报错行会发生变化,但是原因一样,出现错位

4、删除报错的行,发现报错行减少1,应该不是数据的问题

解决办法

使用binary的格式导出导入解决(more大概看了下binary的格式,发现其组织形式是列的)

复制代码
copy t1 to '/data/input/t1_output.bin'  with(format 'BINARY'); 

copy t1 from '/data/input/t1_output.bin'  with(format 'BINARY'); 
相关推荐
scofield_gyb5 分钟前
Redis简介、常用命令及优化
数据库·redis·缓存
難釋懷6 分钟前
Redis搭建分片集群
数据库·redis·缓存
happymaker06267 分钟前
JDBC(MySQL)——DAY04(调用存储过程,存储函数)
java·数据库·mysql
微学AI1 小时前
时序数据库选型:聚焦时间序列数据库Apache IoTDB——为工业物联网与大数据而生
数据库·apache·时序数据库
952361 小时前
MySQL - 集群架构与实践
数据库·学习·mysql·架构
原来是猿1 小时前
Linux-【文件系统下】
linux·运维·数据库
Java面试题总结1 小时前
2026最新Java八股文(完整版)
java·开发语言·jvm·数据库·java面试·java八股文
新缸中之脑1 小时前
68个适合个人GPU部署的LLM
数据库
麦聪聊数据2 小时前
SQL2API 网关的透明缓存与请求合并机制
数据库·sql·低代码·微服务
西门吹雪分身2 小时前
分布式架构之CAP与数据库分片架构
数据库·分布式·架构·分库分表