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'); 
相关推荐
weixin_4597539414 小时前
c++如何利用filesystem--relative计算两个文件之间的相对路径【详解】
jvm·数据库·python
阿福聊编程15 小时前
Data-Analysis-Agent:用自然语言查数据库的开源 AI 数据分析工具
数据库·人工智能
行业研究员15 小时前
2026 Agent Memory主流方案能力解析与落地选型
大数据·数据库·agent记忆
m0_5967490915 小时前
Golang怎么实现队列数据结构_Golang如何用切片实现先进先出的队列【方法】
jvm·数据库·python
qq_2975746715 小时前
MySQL核心技术实战系列(第二篇):MySQL核心基础:库与表的增删改查(CRUD)实战
数据库·mysql
m0_5913647315 小时前
如何编写带默认值的SQL存储过程_简化前端调用接口设计
jvm·数据库·python
iAm_Ike15 小时前
如何处理SQL存储过程存储过程循环陷阱_优化逻辑结构
jvm·数据库·python
Jetev15 小时前
MySQL实现跨库在线迁移的方法_利用Binlog实时数据同步工具
jvm·数据库·python
2401_8504916515 小时前
c++ circle元编程如何使用
jvm·数据库·python
TechWayfarer15 小时前
网络安全视角:利用IP定位API接口识别机房与基站流量(合规风控篇)
开发语言·网络·数据库·python·安全·网络安全