有没有办法在原始表上添加/更改表列编码而不创建新表并从旧表中选择所有内容到新表?
不,这不受支持.
从文档中,您有以下选项:
在创建表时,手动将压缩类型或编码应用于表中的列
使用COPY命令自动分析和应用压缩(在空表上)
使用ALTER TABLE命令将列添加到表时,指定列的编码
从相同的文档,
创建表后,无法更改列的压缩编码.
Ketan是对的.AWS确实提供了一个实用程序,https://github.com/awslabs/amazon-redshift-utils/tree/master/src/ColumnEncodingUtility,可以为您处理它.