在 TimescaleDB 中,我有一个包含每日平均值的连续聚合,因此存储桶大小为 1 天:
CREATE MATERIALIZED VIEW sensors_daily
WITH (timescaledb.continuous, timescaledb.materialized_only=true)
AS
SELECT time_bucket_gapfill('1d', time) AS time,
id,
average(time_weight('LOCF', time, sensor1)) AS sensor1,
average(time_weight('LOCF', time, sensor2)) AS sensor2,
FROM sensors
GROUP BY time_bucket('1d', time), id;
我还创建了一个连续聚合策略来保留过去 30 天并每天更新它。它看起来像这样:
SELECT add_continuous_aggregate_policy('sensors_daily',
start_offset => INTERVAL '30 days',
end_offset => INTERVAL '1 day',
schedule_interval => INTERVAL '1 day');
现在这是我的问题:我没有得到数据,包括昨天。 我也没有得到前天的数据。视图总是落后 3 天。
当我在下午 2022-02-17 查询最晚时间时
select max(time) from sensors_daily;
我得到第14个
2022-02-14 01:00:00.000 +0100
通过查询作业
SELECT * FROM timescaledb_information.job_stats;
我看到它每天午夜后不久都会成功运行。
last_run_started_at: 2022-02-17 00:12:07.208 +0100
last_successful_finish: 2022-02-17 00:12:51.699 +0100
last_run_status: Success
last_run_duration: 00:00:44.491458
next_start: 2022-02-18 00:12:51.699 +0100
我需要更改哪些内容才能获取截至昨天(包括昨天)的每日数据?
编辑 2022-02-18 也许很重要:传感器源超表中的TIMESTAMPTZ
时间戳是(带有时区的时间戳,德语)。