IVM 开发小组很高兴地宣布 pg_ivm 1.8 的发布。
自 v1.7 版本以来的更改包括
在维护 EXISTS 视图时考虑元组重复性 (Yugo Nagata)
之前,没有考虑行的重复性,即使在向 EXISTS 子查询中的表中插入元组时生成重复元组,也只插入一个元组。
修复检查包含 EXISTS 子查询的表达式的问题 (Takuma Hoshiai, Yugo Nagata)
目前,只允许 EXISTS 子查询直接位于 WHERE 子句下或直接位于 WHERE 下的 AND 表达式中。然而,之前的检查不够完善,导致可以使用除 AND 之外的包含 EXISTS 子查询的表达式创建视图,而不会出现错误,这会导致不正确的维护结果。
在打开 PgIvmImmvRelationId 之前检查其是否无效 (Colin Zhao)
修复了通过 shared_preload_libraries 安装 pg_ivm 而不执行 CREATE EXTENSION 命令时,在删除表时发生的错误。
修复了删除 pg_ivm 扩展时引发的错误 (Yugo Nagata)
之前,由于无法打开 pg_ivm_immv 目录表上的索引,导致 DROP EXTENSION pg_ivm 失败,因为该索引当时已被删除。
pg_ivm 是一个提供增量视图维护 (IVM) 功能的扩展模块。
增量视图维护 (IVM) 是一种使物化视图保持最新的方法,它只计算和应用视图的增量更改,而不是重新计算。pg_ivm 提供了一种即时维护,其中物化视图在修改基表后立即更新。