刷新物化视图时,索引是否也会自动刷新?

时间:2014-03-21 15:18:16

标签: postgresql indexing materialized-views postgresql-9.3

我目前正在使用Postgres 9.3.3。

如果您refresh具体化视图,该物化视图上的索引是否也重新编制索引?或者索引是否需要手动重新编制索引?

在查看以下question时,看起来很像,但没有答案,我似乎找不到任何支持文档。

2 个答案:

答案 0 :(得分:9)

Per documentation:

  

创建索引后,无需进一步干预:   系统将在修改表时更新索引...

没有例外。物化视图只是附加配方的另一个表,如何刷新它。所有索引都可以从头开始重新创建或更新。您永远不需要手动对现有索引执行任何操作。

The manual once more:

  

在查询中引用实例化视图时,数据为   直接从物化视图返回,就像从表中;该   rule仅用于填充物化视图。

答案 1 :(得分:4)

索引当然会保持最新。

快速测试似乎表明它们在每次REFRESH之后都保持了它们的大小,这表明它们是从头开始重新创建的。这是有道理的,因为我认为视图是为每次刷新重新创建的,并且基本上已重命名到位。