Timescale Cloud:性能、扩展、企业级
自托管产品
MST
创建一个策略,自动刷新连续聚合。要查看您设置的或已存在的策略,请参阅信息视图。
名称 | 类型 | 描述 |
---|---|---|
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
和当前时间之间的数据,请启用实时聚合。
名称 | 类型 | 描述 |
---|---|---|
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 的当前设置。 |
buckets_per_batch | INTEGER | 一个*批次*要刷新的桶数量。此值乘以 CAgg 桶宽度以确定批次范围的大小。默认值为 0 ,表示单批次执行。不允许小于 0 的值。 |
max_batches_per_execution | INTEGER | 限制策略执行时运行的最大批次数量。如果仍有批次,它们将在策略下次运行时处理。默认值为 10 ,每个任务最多处理 10 个批次。设置为 0 表示批次数量无限制。不允许小于 0 的值。 |
重要提示
将 buckets_per_batch
设置为大于零,意味着刷新窗口将按 桶宽度
* 每批次桶数
的批次进行拆分。例如,一个给定的连续聚合,其 桶宽度
为 1 day
,buckets_per_batch
为 10,则刷新处理的批次大小为 10 days
。因为每个 批次
都是一个独立的事务,所以分批执行策略可以在整个任务执行完成之前让数据对用户可见。批次按从最新数据到最旧数据的顺序进行处理。
列 | 类型 | 描述 |
---|---|---|
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 编辑此页面
in GitHub.