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'); 
相关推荐
standxy7 分钟前
索引设计实战:pgvector HNSW × JSONB GIN × 复合索引
数据库·开发
guo_wen_qiang18 分钟前
使用spring-data-mongodb操作mongo记录
数据库·mongodb
凤山老林24 分钟前
授权模型只会RBAC?深入 ABAC 授权模型,实现权限判断做成策略引擎
大数据·数据库·算法
geovindu27 分钟前
sql:SQL Views and Materialized Views using mysql 9.0
大数据·数据库·数据仓库·sql·mysql·数据库开发·数据库架构
梦影_41 分钟前
MySQL进阶教程(二)—— 储存过程与触发器(下)
开发语言·数据库·后端·sql·mysql·oracle·数据库开发
工业涂料百问1 小时前
陶瓷涂料的光泽度怎么检测?20°、60°、85° 三个角度怎么选
数据库
科创致远1 小时前
ESOP 电子作业指导书车间无纸化实战评测
大数据·数据库·人工智能·制造
xiaomuzuirenzhen1 小时前
2027车企数字化岗位项目准备:从SQL数据建模到库存分析看板
大数据·数据库·sql
鸽芷咕1 小时前
从环境搭建到敬礼动作:启元 Q1 SDK 全流程实战与 8 个实测坑排查手册
数据库·ai·机器人·sdk·启元q1
科技研学社1 小时前
服装厂激光开袋机与智能模板机怎么选?核心工序设备深度对比与落地实战
数据库·python