手动清除数据
可以按如下方式手动清除已删除的数据:
-
设置清除已删除数据的截止日期。首先,调用以下函数之一以验证当前的 Ancient History Mark ( AHM):
-
GET_AHM_TIME
返回 AHM 的 TIMESTAMP 值。 -
GET_AHM_EPOCH
返回 AHM 所在的时期编号。
-
-
使用以下函数之一将 AHM 设置为所需的截止日期:
-
SET_AHM_TIME
将 AHM 设置为包含 启动程序节点上指定的 TIMESTAMP 值的 时期。 -
SET_AHM_EPOCH
将 AHM 设置为指定的时期。 -
MAKE_AHM_NOW
将 AHM 设置为最大允许值。这让您可以清除所有已删除的数据。
如果调用
SET_AHM_TIME
,请记住指定的时间戳将映射到默认具有三分钟粒度的时期。因此,如果将 AHM 时间指定为2008-01-01 00:00:00.00
,则 Vertica 可能会清除 2008 年前三分钟的数据,或保留 2007 年最后三分钟的数据。注意
不能将 AHM 推进到 Vertica 无法为故障节点恢复数据的时间点。 -
-
使用以下函数之一从所需的投影中清除已删除的数据:
-
PURGE
清除物理架构中的所有投影。 -
PURGE_TABLE
清除锚定到指定表的所有投影。 -
PURGE_PROJECTION
清除指定的投影。 -
PURGE_PARTITION
清除指定的分区。
Tuple Mover 执行 合并操作以清除数据。Vertica 会定期调用 Tuple Mover 以执行合并操作,如 Tuple Mover 参数所配置的那样。可以通过调用函数
DO_TM_TASK
来手动调用 Tuple Mover。 -
当心
手动清除操作可能需要较长时间。有关 Vertica 如何使用时期的详细信息,请参阅时期。