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'); 
相关推荐
tod11323 分钟前
Redis 持久化机制深度解析(RDB / AOF)
数据库·redis·缓存
❀͜͡傀儡师31 分钟前
一个基于PostgreSQL的轻量级消息队列(PGMQ)
数据库·postgresql·pgmq
哈库纳玛塔塔40 分钟前
dbVisitor 统一数据库访问库,更新 v6.7.0,面向 AI 支持向量操作
数据库·spring boot·orm
object not found1 小时前
uniCloud 数据库:database() 和 databaseForJQL() 到底有什么区别?
数据库
zhangyueping83851 小时前
1、MYSQL-DDL
数据库·mysql
xdpcxq10291 小时前
EF Core实体追踪Entry中记录的数据
服务器·数据库·oracle
忧郁的橙子.1 小时前
02-嵌入模型和向量数据库
数据库·embedding
kaoa0002 小时前
Linux入门攻坚——67、MySQL数据库-4
linux·运维·数据库·mysql
学Linux的语莫2 小时前
skills的使用
java·数据库·python
码云数智-园园2 小时前
MySQL 性能调优实战:高效处理 ORDER BY 与 GROUP BY 查询
数据库·mysql