In Oracle, it is possible to refresh just part of the data.但在PostgreSQL中,materialized 视图从9.3(现在的版本)开始就得到了支持,但时间不长.所以我想知道:在PostgreSQL 9.3中,是否可以只刷新materialized 视图中的部分数据?如果是,怎么做?
In Oracle, it is possible to refresh just part of the data.但在PostgreSQL中,materialized 视图从9.3(现在的版本)开始就得到了支持,但时间不长.所以我想知道:在PostgreSQL 9.3中,是否可以只刷新materialized 视图中的部分数据?如果是,怎么做?
PostgreSQL还不支持materialized 视图的渐进/部分更新.
9.4 adds REFRESH MATERIALIZED VIEW CONCURRENTLY
but it still has to be regenerated entirely.
如果有人足够热情,我们希望在9.5中看到支持.不过,对于简单的materialized 视图,只有在没有用户定义的触发器/规则的情况下才能做到这一点,甚至需要特殊的支持来处理诸如count(...) ... GROUP BY ...
的增量更新之类的事情.
不过,您提到的Oracle答案实际上不是增量刷新.它是按分区刷新的.为了让PostgreSQL在本机上支持这一点,它首先必须支持真正的声明性分区——它不支持,尽管我们正在讨论是否可以在9.5中实现.