PostgreSQL - Streaming物化视图的变化

时间:2017-08-01 12:42:53

标签: postgresql materialized-views

我使用PostgreSQL在异步刷新的物化视图中存储数百万行。数据是来自多个表的多个连接的源。

是否可以在物化视图中流/通知哪些行被更改(无论是创建/更新/删除)?

2 个答案:

答案 0 :(得分:0)

我的声誉太低了,所以我不得不在答案部分询问。

从一开始 - 为什么使用物化视图存储数百万行?将它们存储在经典表格中不是更好吗?有了它,您可以使用触发器来记录此实体的更改。

答案 1 :(得分:0)

从Postgres 9.4开始,您可以“同时”刷新实例化视图,以仅影响新行和修改后的行。

来自http://www.postgresqltutorial.com/postgresql-materialized-views/

  

“使用CONCURRENTLY选项,PostgreSQL创建实例化视图的临时更新版本,比较两个版本,并仅执行差异的INSERT和UPDATE 。您可以在实例化视图中查询它更新。使用CONCURRENTLY选项的一项要求是,实例化视图必须具有UNIQUE索引。请注意,CONCURRENTLY选项仅在PosgreSQL 9.4中可用。”

官方文档:https://www.postgresql.org/docs/current/sql-refreshmaterializedview.html