在Postgres 9.5上,我已经实现了一个急切的实例化视图,并在UPDATE
上添加了ups触发器(我需要进行增量更新,并且内置的实例化视图不支持该操作),这似乎很好。 / p>
但是我还需要在现有数据库上初始化这些表,有时会截断并重建它们;我需要内置的REFRESH MATERIALIZED VTEW
。我可以在触发器中复制upsert查询,修改特定于触发器的代码,但我不喜欢重复的代码。
我发现在触发器的源表上运行无操作UPDATE
UPDATE source_table SET id = id;
会触发我的触发器,因此会根据需要更新视图。
我以前没有遇到过这种“触摸”查询,并且担心它可能很脆弱-Postgres现在的行为恰好是这种情况,但它不是标准的,它将在9.6中更改。有理由担心吗?