RedShift中没有LOB数据类型 [英] No LOB datatypes in Redshift
本文介绍了RedShift中没有LOB数据类型的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我们正在进行Oracle到RedShift的迁移项目。 作为迁移的一部分,我们要求在RedShift中创建一个CLOB值支持列。 我们已经尝试了很多方法来找出类似于Oracle的CLOB的数据类型。 但不幸的是,我们没有成功。
我们在Oracle CLOB列中的最大长度为171,000个字符,需要将其移到RedShift中。
有没有人能建议一下,我们是否有办法在RedShift中创建数据类型为CLOB的列? 另外,请告诉我我们是否也有Blob的备用数据类型。
推荐答案
AWS DMS将BLOB、CLOB和NCLOBS转换为目标Amazon RedShift实例上的VARCHAR。Amazon RedShift不支持大于64 KB的VARCHAR数据类型,因此您不能在Amazon RedShift上存储传统LOB。
Furthermore,您最多可以在数据类型列中存储65535个字节:
名称 | 存储 | 范围 |
---|---|---|
VARCHAR、CHARACTER VARING或NVARCHAR | 4个字节+字符总字节,其中每个字符可以是1到4个字节 | 65535字节(64K-1) |
因此,您似乎必须将CLOB
拆分为3列,例如
TEXT_1 VARCHAR(65000),
TEXT_2 VARCHAR(65000),
TEXT_3 VARCHAR(65000)
并将子字符串放入其中。
这篇关于RedShift中没有LOB数据类型的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文