我使用PostgreSQL获取时间序列数据。有一个Event表和分区表,如Event_2016,Event_2017,它继承自Event,并带有CONSTRAINT CHECK作为日期范围。因此,在查询Event表时,PostgreSQL仅使用所需的子表。
要汇总事件,我使用EventByDay物化视图。刷新它需要从所有Event_ *表中读取。
我可以像上面一样使用物化视图来限制每个物化视图中的数据量吗? (EventByDay_2016继承自EventByDay)。
答案 0 :(得分:3)
不,MVIEW不能参与表继承。
但您可以创建(常规)子表,然后使用MVIEW中的查询使用truncate table event_by_day_2016;
insert into event_by_day_2016
select *
from v_event_by_day_2016;
。如果要将MVIEW的查询存储在数据库中,请创建用于填充子表的视图。
这样的事情:
delete
{{1}}
或者,您可以使用{{1}},以便可以以事务方式刷新子表中的数据。