创建一个自动刷新连续聚合的策略。要查看您设置的策略或已存在的策略,请参阅信息视图。
名称 | 类型 | 描述 |
---|---|---|
continuous_aggregate | REGCLASS | 要为其添加策略的连续聚合 |
start_offset | INTERVAL 或 integer | 刷新窗口的开始时间,相对于策略执行的时间的间隔。NULL 相当于超表的 MIN(timestamp) 。 |
end_offset | INTERVAL 或 integer | 刷新窗口的结束时间,相对于策略执行的时间的间隔。NULL 相当于超表的 MAX(timestamp) 。 |
schedule_interval | INTERVAL | 刷新执行之间的时间间隔,以实际时间计算。默认为 24 小时 |
initial_start | TIMESTAMPTZ | 策略首次运行的时间。默认为 NULL。如果省略,则计划间隔是上次执行完成时间和下一次开始时间之间的间隔。如果提供,它将作为计算 next_start 的原点 |
start_offset
应该大于 end_offset
。
您必须根据超表的时间列类型,以不同的方式指定 start_offset
和 end_offset
参数
- 对于具有
TIMESTAMP
、TIMESTAMPTZ
和DATE
时间列的超表,将偏移量设置为INTERVAL
类型。 - 对于具有基于整数的时间戳的超表,将偏移量设置为
INTEGER
类型。
重要
虽然可以将 end_offset
设置为 NULL
,但不建议这样做。默认情况下,查询连续聚合会返回 end_offset
和当前时间之间的数据。无需将 end_offset
设置为 NULL
。要了解有关连续聚合如何使用实时聚合的更多信息,请参阅实时聚合部分。
名称 | 类型 | 描述 |
---|---|---|
if_not_exists | BOOLEAN | 设置为 true 以在作业已存在时发出通知而不是错误。默认为 false。 |
timezone | TEXT | 有效的时区。如果您指定 initial_start ,则刷新策略的后续执行将与 initial_start 对齐。但是,夏令时 (DST) 更改可能会改变这种对齐。如果您想缓解这个问题,请将 timezone 设置为有效的时区。默认为 NULL ,执行 UTC 分桶。 |
include_tiered_data | BOOLEAN | 启用/禁用读取分层数据。此设置有助于覆盖 timescaledb.enable_tiered_reads GUC 的当前设置。默认值为 NULL,即我们使用 timescaledb.enable_tiered_reads GUC 的当前设置 |
列 | 类型 | 描述 |
---|---|---|
job_id | INTEGER | 为实施此策略而创建的 TimescaleDB 后台作业 ID |
添加一个策略,该策略每小时刷新上个月的数据一次,但不包括聚合中的最新小时。出于性能原因,我们建议您排除写入量大的数据块
SELECT add_continuous_aggregate_policy('conditions_summary',start_offset => INTERVAL '1 month',end_offset => INTERVAL '1 hour',schedule_interval => INTERVAL '1 hour');
关键词
在此页面上发现问题?报告问题 或 在 GitHub 上编辑此页面。