TimescaleDB 多个连续聚合未填满数据

TimescaleDB multiple continuous aggregates not filling up with data

我正在尝试创建多个 TimescaleDB 连续聚合 table,就像下面的示例 link 一样,但是当我查询它们时,视图中没有数据...

https://docs.timescale.com/latest/using-timescaledb/continuous-aggregates

这是我创建连续聚合视图的代码。我创建了一个 1 小时间隔、一个 2 小时间隔和一个 6 小时间隔(即 3 个连续的聚合视图,这在 TimescaleDB >= v1.4 中显然是允许的)。我在 PostgreSQL v11.9 上的 Docker 容器中使用 TimescaleDB v1.7.3。

CREATE VIEW time_series_mv_1_hour_interval
WITH (timescaledb.continuous) AS
SELECT 
    gateway,
    time_bucket('01:00:00'::interval, timestamp_utc) AS timestamp_utc,
    avg(spm) AS spm,
    avg(hyd::integer) AS hyd
FROM public.time_series
GROUP BY 
    gateway, 
    time_bucket('01:00:00'::interval, timestamp_utc);

这是我“创建成功”的三个视图的图片:

底层 table 创建如下,并且不断插入新的 IoT 数据:

create table if not exists public.time_series (
    timestamp_utc timestamp without time zone NOT NULL,
    gateway text NOT NULL,
    spm real NULL,
    hyd bool NULL
    UNIQUE (timestamp_utc, gateway)
);

创建 table 后,我 运行 创建了 TimescaleDB hypertable: https://docs.timescale.com/latest/api#create_hypertable

SELECT create_hypertable('public.time_series', 'timestamp_utc');

然后我先在网关上创建了一个智能索引,然后是时间:

https://blog.timescale.com/blog/use-composite-indexes-to-speed-up-time-series-queries-sql-8ca2df6b3aaa/ https://docs.timescale.com/latest/using-timescaledb/schema-management#indexing

CREATE INDEX ON public.time_series (gateway, timestamp_utc DESC);

为什么我的newly-created连续聚合没有数据tables/views?我等了大概16个小时了,还是没有数据。

我运行下面的简单查询,没有返回任何记录...

SELECT * from time_series_mv_1_hour_interval;

解决方案:重新启动数据库,然后drop-cascade现有的未填满行的连续聚合视图,并且 re-create 他们使用完全相同的步骤...

我希望第一次知道是什么导致了问题,但至少它现在可以正常工作了。

-肖恩