TimescaleDB:功能测试中强制刷新或稳定连续聚合视图

TimescaleDB: force refresh or stability continuous aggregated views in functional testing

我正在使用 TimescaleDB 作为时间序列数据的后端。现在我正在针对这个后端编写一些单元和功能测试。

但是,据我了解,TimescaleDB 工作进程在后台刷新连续聚合视图。为了使测试正确,我需要确保所有连续的聚合视图都是最新的。

有没有办法让我查询 TimescaleDB 以了解连续聚合视图的更新情况,并等待它正确摄取所有数据作为 INSERT 的结果?或者任何 INSERT 是否应该在提交时自动反映在所有连续的聚合视图中?

除了使用continuous aggregate policies, which refreshes continuous aggregates on a schedule, it is possible to manually refresh continuous aggregates on demand by calling refresh_continuous_aggregate(). It might be also useful to read this intro。来自文档的示例:

CALL refresh_continuous_aggregate('conditions', '2020-01-01', '2020-02-01');

旁注,了解它可能会有用:您可以调整连续聚合是否应仅返回物化聚合或通过在视图上设置 timescaledb.materialized_only 从超表计算。