创建分区错误 - 提示:如果列当前不包含空值,则前进AHM

时间:2014-02-25 05:21:13

标签: vector partitioning vertica

我正在尝试按年份对现有表格进行分区。(没有现有的分区)

alter table test_table PARTITION BY EXTRACT (year FROM date_c);

但似乎有一些错误

  

ROLLBACK 2628:不允许在PARTITION BY表达式中使用“date_c”列,因为它包含NULL值   **提示:如果列当前不包含空值,请在更改分区之前推进AHM并从删除向量中清除空值**

该列没有任何空值,因此遵循提示。我确实将AHM推进到现在。但是如何从删除向量中清除空值?

2 个答案:

答案 0 :(得分:3)

将AHM(古代历史标记)设置为允许的最大值后,您可以使用PURGE_TABLE()从物理存储中永久删除删除数据。

MAKE_AHM_NOW()函数推进纪元并对所有投影执行时差操作。然后将AHM设置为LGE(Last Good Epoch)。此时,任何历史数据(包括删除向量)都将丢失,并且无法进行回滚。 会自动清除旧数据。

答案 1 :(得分:0)

看起来我必须在将AHM设置为now()之后清除数据(我假设将AHM设置为now()会自动处理清除旧数据)。