创建一个策略以在后台重新排序给定 hypertable 索引上的数据块。每个 hypertable 只能有一个重新排序策略。只有距离最近的第三个数据块才会被重新排序,以避免重新排序仍在插入的数据块。有关重新排序数据块的更多信息,请参阅 reorder_chunk 部分。

注意

当一个数据块被后台 worker 重新排序后,它不会再次被重新排序。如果您在已重新排序的旧数据块中插入大量数据,您可能需要手动重新运行旧数据块上的 reorderchunk 函数。或者,您可以删除并重新创建策略,如果您更改了很多旧数据块,这可能会更好。

名称类型描述
hypertableREGCLASS为其创建策略的 hypertable
index_nameTEXT用于对磁盘上的行进行排序的现有索引
initial_startTIMESTAMPTZ策略首次运行的时间。默认为 NULL。如果省略,则计划间隔是上次执行的完成时间和下一次开始时间之间的间隔。如果提供,它将作为计算 next_start 的原点
timezoneTEXT有效的时区。如果也指定了 initial_start,则重新排序策略的后续执行将与其初始开始时间对齐。但是,夏令时 (DST) 更改可能会移动此对齐。如果这是一个您想要缓解的问题,请设置为有效的时区。如果省略,则执行 UTC 分桶。默认为 NULL
名称类型描述
if_not_existsBOOLEAN设置为 true 以避免在 reorder_policy 已存在时发生错误。而是发出通知。默认为 false
类型描述
job_idINTEGER为实现此策略而创建的 TimescaleDB 后台作业 ID
SELECT add_reorder_policy('conditions', 'conditions_device_id_time_idx');

创建一个策略,通过现有的 (device_id, time) 索引重新排序数据块。 这适用于完整且不再写入的数据块。 有关重新排序数据块的更多信息,请参阅 reorder_chunk 部分。

关键词

在此页面上发现问题?报告问题 或 在 GitHub 上编辑此页面