时间刻度上的计算字段
Calculated fields on timescale
我正在尝试使用传感器数据将计算字段添加到我的 hypertable,例如,我想添加体积读数的导数以获得体积流量。
我尝试使用连续聚合来执行此操作,但我得到 invalid SELECT query for continuous aggregate
。
create view public.readings_raw_with_calc_fields
WITH (timescaledb.continuous)
as
select
serial,
time,
type,
value
from public.readings_raw
union all
select
serial,
time,
'Volume flow calc.' as type,
(lead(value) over (partition by serial,devicetype,manufacturer order by time))-value as value
from
public.readings_raw
where type='Volume'
是因为lead
函数还是连续聚合必须要有聚合函数?对此的最佳做法是什么?我可以做一个每分钟在原始 table 中插入数据的工作,但是如果及时插入新数据我就不会捕捉到(这是一个相当大的 table,所以我不能' t 运行 通过整个 table 每分钟)。
窗口函数和 UNION 都会阻止连续聚合工作。
在这种情况下,由于每行执行的计算量很低,按时索引和常规视图可能会提供所需的性能。
我正在尝试使用传感器数据将计算字段添加到我的 hypertable,例如,我想添加体积读数的导数以获得体积流量。
我尝试使用连续聚合来执行此操作,但我得到 invalid SELECT query for continuous aggregate
。
create view public.readings_raw_with_calc_fields
WITH (timescaledb.continuous)
as
select
serial,
time,
type,
value
from public.readings_raw
union all
select
serial,
time,
'Volume flow calc.' as type,
(lead(value) over (partition by serial,devicetype,manufacturer order by time))-value as value
from
public.readings_raw
where type='Volume'
是因为lead
函数还是连续聚合必须要有聚合函数?对此的最佳做法是什么?我可以做一个每分钟在原始 table 中插入数据的工作,但是如果及时插入新数据我就不会捕捉到(这是一个相当大的 table,所以我不能' t 运行 通过整个 table 每分钟)。
窗口函数和 UNION 都会阻止连续聚合工作。
在这种情况下,由于每行执行的计算量很低,按时索引和常规视图可能会提供所需的性能。