PostgreSQL中的物化视图可以继承吗?

时间:2017-02-22 14:08:55

标签: postgresql time-series materialized-views

我使用PostgreSQL获取时间序列数据。有一个Event表和分区表,如Event_2016,Event_2017,它继承自Event,并带有CONSTRAINT CHECK作为日期范围。因此,在查询Event表时,PostgreSQL仅使用所需的子表。

要汇总事件,我使用EventByDay物化视图。刷新它需要从所有Event_ *表中读取。

我可以像上面一样使用物化视图来限制每个物化视图中的数据量吗? (EventByDay_2016继承自EventByDay)。

1 个答案:

答案 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}},以便可以以事务方式刷新子表中的数据。