创建一个自动刷新连续聚合的策略。要查看您设置的策略或已存在的策略,请参阅信息视图

名称类型描述
continuous_aggregateREGCLASS要为其添加策略的连续聚合
start_offsetINTERVAL 或 integer刷新窗口的开始时间,相对于策略执行的时间的间隔。NULL 相当于超表的 MIN(timestamp)
end_offsetINTERVAL 或 integer刷新窗口的结束时间,相对于策略执行的时间的间隔。NULL 相当于超表的 MAX(timestamp)
schedule_intervalINTERVAL刷新执行之间的时间间隔,以实际时间计算。默认为 24 小时
initial_startTIMESTAMPTZ策略首次运行的时间。默认为 NULL。如果省略,则计划间隔是上次执行完成时间和下一次开始时间之间的间隔。如果提供,它将作为计算 next_start 的原点

start_offset 应该大于 end_offset

您必须根据超表的时间列类型,以不同的方式指定 start_offsetend_offset 参数

  • 对于具有 TIMESTAMPTIMESTAMPTZDATE 时间列的超表,将偏移量设置为 INTERVAL 类型。
  • 对于具有基于整数的时间戳的超表,将偏移量设置为 INTEGER 类型。
重要

虽然可以将 end_offset 设置为 NULL,但不建议这样做。默认情况下,查询连续聚合会返回 end_offset 和当前时间之间的数据。无需将 end_offset 设置为 NULL。要了解有关连续聚合如何使用实时聚合的更多信息,请参阅实时聚合部分

名称类型描述
if_not_existsBOOLEAN设置为 true 以在作业已存在时发出通知而不是错误。默认为 false。
timezoneTEXT有效的时区。如果您指定 initial_start,则刷新策略的后续执行将与 initial_start 对齐。但是,夏令时 (DST) 更改可能会改变这种对齐。如果您想缓解这个问题,请将 timezone 设置为有效的时区。默认为 NULL,执行 UTC 分桶
include_tiered_dataBOOLEAN启用/禁用读取分层数据。此设置有助于覆盖 timescaledb.enable_tiered_reads GUC 的当前设置。默认值为 NULL,即我们使用 timescaledb.enable_tiered_reads GUC 的当前设置
类型描述
job_idINTEGER为实施此策略而创建的 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 上编辑此页面