问题描述
您好,提前感谢您的帮助,
我正在尝试使用具有以下结构的 python 库 psycopg2 使用 Psql 创建物化视图:
false
我想从中创建物化视图的表是使用以下查询创建的:
<materialized_view name>
time TIMESTAMPTZ NOT NULL,robot_id TEXT,data JSONB
然后,为了测试是否可以生成输出与物化视图结构相同的查询,我执行了以下查询:
CREATE TABLE IF NOT EXISTS mainTable (
time TIMESTAMPTZ NOT NULL,data JSONB);
最后一个查询的输出符合预期,可以在这里看到: Result of running the previous query
但是,当我想包含相同的查询以创建物化视图时,我在使用 GROUP BY 时遇到了一些我不知道如何解决的错误。
我用来创建物化视图的查询如下:
SELECT time_bucket('30s',time) as Bucket,robot_id,json_build_object('value',avg((data->>'value')::numeric),'field',data->>'field') as data
FROM mainTable
WHERE time >= '2021-05-20 09:00:00' AND time <= '2021-05-20 10:00:00'
GROUP BY data->>'field',bucket,robot_id
ORDER BY 1
LIMIT 10;
当我运行此命令时,物化视图已正确创建,但是当我运行查询时:
CREATE MATERIALIZED VIEW IF NOT EXISTS mainTable_1sec
WITH (timescaledb.continuous) AS
SELECT time_bucket('1s',json_build_object('field',data->>'field','value',avg(cast(data->>'value' as double precision))) as avg_data,robot_id
FROM mainTable
GROUP BY Bucket,robot_id
WITH NO DATA;
我收到以下错误:
SELECT *
FROM mainTable_1sec
LIMIT 10;
再次感谢您的帮助,
乔迪。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)