Timescale Cloud:性能、扩展、企业版
自托管产品
MST
在由 window_start 和 window_end 给定的刷新窗口内刷新连续聚合的所有桶。
连续聚合将聚合数据具体化为时间桶。例如,在 1 天的数据中计算最小值、最大值和平均值,这由 time_bucket 间隔决定。因此,在刷新连续聚合时,只有完全符合刷新窗口的桶才会被刷新。换句话说,对于不完整的桶,无法计算聚合。因此,任何不符合给定刷新窗口的桶都将被排除。
该函数要求窗口参数值的时间类型与连续聚合的时间桶表达式兼容——例如,如果时间桶在 TIMESTAMP WITH TIME ZONE 中指定,则开始时间和结束时间应为日期或时间戳类型。请注意,使用 TIMESTAMP WITH TIME ZONE 类型的连续聚合与 UTC 时区对齐,因此,如果在本地时区指定 window_start 和 window_end,则在刷新时需要考虑任何相对于 UTC 的时区偏移,以与桶边界对齐。
要提高连续聚合刷新的性能,请参阅 CREATE MATERIALIZED VIEW 。
| 名称 | 类型 | 描述 |
|---|---|---|
continuous_aggregate | REGCLASS | 要刷新的连续聚合。 |
window_start | INTERVAL, TIMESTAMPTZ, INTEGER | 要刷新的窗口的起始时间,必须在 window_end 之前。 |
window_end | INTERVAL, TIMESTAMPTZ, INTEGER | 要刷新的窗口的结束时间,必须在 window_start 之后。 |
您必须根据超表时间列的类型,以不同的方式指定 window_start 和 window_end 参数。对于具有 TIMESTAMP、TIMESTAMPTZ 和 DATE 时间列的超表,将刷新窗口设置为 INTERVAL 类型。对于具有基于整数的时间戳的超表,将刷新窗口设置为 INTEGER 类型。
注意
window_start 的 NULL 值相当于 CAgg 原始超表中最低的已更改元素。window_end 的 NULL 值相当于 CAgg 原始超表中最大的已更改元素。由于在首次 CAgg 刷新后执行已更改元素跟踪,因此在没有 window_start 和 window_end 的情况下运行 CAgg 刷新将覆盖整个时间范围。
警告
请注意,并非所有桶都保证会更新:当桶的具体化没有数据更改,或者仅在 JOIN 中使用的辅助表中发生更改时,刷新不会进行。
| 名称 | 类型 | 描述 |
|---|---|---|
force | BOOLEAN | 强制刷新 window_start 和 window_end 之间时间范围内的每个桶,即使该桶已经刷新过。当刷新大量数据时,这可能会非常耗费资源。默认为 FALSE。 |
refresh_newest_first | BOOLEAN | 设置为 FALSE 以优先刷新最旧的数据。默认为 TRUE。 |
刷新 2020-01-01 和 2020-02-01 之间的连续聚合 conditions(不包含结束日期)。
CALL refresh_continuous_aggregate('conditions', '2020-01-01', '2020-02-01');
或者,以 12h 的间隔,增量刷新 2020-01-01 和 2020-02-01 之间的连续聚合 conditions(不包含结束日期)
DO$$DECLARErefresh_interval INTERVAL = '12h'::INTERVAL;start_timestamp TIMESTAMPTZ = '2020-01-01T00:00:00Z';end_timestamp TIMESTAMPTZ = start_timestamp + refresh_interval;BEGINWHILE start_timestamp < '2020-02-01T00:00:00Z' LOOPCALL refresh_continuous_aggregate('conditions', start_timestamp, end_timestamp);COMMIT;RAISE NOTICE 'finished with timestamp %', end_timestamp;start_timestamp = end_timestamp;end_timestamp = end_timestamp + refresh_interval;END LOOP;END$$;
强制刷新 2020-01-01 和 2020-02-01 之间的连续聚合 conditions(不包含结束日期),即使数据已刷新过。
CALL refresh_continuous_aggregate('conditions', '2020-01-01', '2020-02-01', force => TRUE);
关键词