Amazon web services 红移:错误:最大列长度超过255代码
此错误是由CREATETABLE语句中的以下行引起的Amazon web services 红移:错误:最大列长度超过255代码,amazon-web-services,amazon-redshift,Amazon Web Services,Amazon Redshift,此错误是由CREATETABLE语句中的以下行引起的 movie_title VARCHAR encode text255, 红移中的默认VARCHAR长度为256,并且256>255,因此 无法执行此查询或语句 错误:-----------------------------错误:最大值 列长度超过255代码:8001上下文:限制是由于使用了 text255编码查询:0位置:列。cpp:167进程:padbmaster [pid=9637]--------------------------
movie_title VARCHAR encode text255,
红移中的默认VARCHAR长度为256,并且256>255,因此
无法执行此查询或语句
错误:-----------------------------错误:最大值
列长度超过255代码:8001上下文:限制是由于使用了
text255编码查询:0位置:列。cpp:167进程:padbmaster
[pid=9637]-----------------------------------------------
如果我将text255更改为text32k,错误就会消失
但据我所知,text255压缩不是以这种方式工作的
它使用一个字节(255)对任何列中的文本进行字典编码
将存储字典中未表示的单词
未压缩
参考:
不应该引起这个问题。如何解释此错误?似乎还有另一个限制,即每个压缩字的大小必须小于255字节。应用text255的列大小可能会因此受到限制
实际上,我可以将text255 encoding设置为varchar(255),就像
movie_title varchar(255)encode text255
thx一样,对于响应,据我从文档中了解,text255并不是将列作为一个整体进行压缩,而是将列中的每个标记分别压缩/编码,这是正确的。text255压缩一列值内的单词。我的观点是VARCHAR列大小有一个限制,可以应用text255,AWS文档并没有提到这一点。然而,我不知道更详细的原因。