Timescale Cloud:性能、扩展、企业级

自托管产品

MST

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

名称类型描述
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 和当前时间之间的数据,请启用实时聚合

名称类型描述
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 的当前设置。
buckets_per_batchINTEGER一个*批次*要刷新的桶数量。此值乘以 CAgg 桶宽度以确定批次范围的大小。默认值为 0,表示单批次执行。不允许小于 0 的值。
max_batches_per_executionINTEGER限制策略执行时运行的最大批次数量。如果仍有批次,它们将在策略下次运行时处理。默认值为 10,每个任务最多处理 10 个批次。设置为 0 表示批次数量无限制。不允许小于 0 的值。
重要提示

buckets_per_batch 设置为大于零,意味着刷新窗口将按 桶宽度 * 每批次桶数 的批次进行拆分。例如,一个给定的连续聚合,其 桶宽度1 daybuckets_per_batch 为 10,则刷新处理的批次大小为 10 days。因为每个 批次 都是一个独立的事务,所以分批执行策略可以在整个任务执行完成之前让数据对用户可见。批次按从最新数据到最旧数据的顺序进行处理。

类型描述
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 编辑此页面 in GitHub.