pg_ivm 1.4 发布

发布于 2022-12-20 由 IVM 开发小组
相关开源项目

IVM 开发小组很高兴地宣布 pg_ivm 1.4 的发布。

自 v1.3 版本以来的更改包括

错误修复

  • 禁止创建包含其他 IMMV 的 IMMV (Takuma Hoshiai)

    当修改内部 IMMV 或物化视图的基础表时,目前无法维护包含其他 IMMV 或物化视图的 IMMV。

  • 修复在 create_immv 中指定非 SELECT 查询时出现的段错误 (Takuma Hoshiai)

  • 修复了可能错误地创建唯一索引的错误 (Yugo Nagata)

    本意是仅当 FROM 子句中所有表的主键都出现在目标列表中时才创建唯一索引。但是,由于此错误,即使只存在 FROM 子句中一个关系的主键属性也可能创建索引。

  • 修复在聚合视图中指定列名时发生的错误 (Yugo Nagata)

    当指定的列名数量与视图定义查询的目标列表的长度不匹配时,会发生段错误或视图的增量维护失败。

  • 使用排他锁进行由 UPDATE 或 DELETE 引起的视图维护 (Yugo Nagata)

    当在并发事务中通过 DELETE 或 UPDATE 修改表时,增量视图维护可能会导致错误的结果,现在通过使用锁来避免这种情况。 请注意,受影响的 IMMV 是那些仅包含一个表且不使用聚合或 DISTINCT 的 IMMV,因为包含多个表或使用聚合或 DISTINCT 的 IMMV 已经以排他方式维护。

完整更新日志: https://github.com/sraoss/pg_ivm/compare/1.3...v1.4

关于 pg_ivm

pg_ivm 是一个提供增量视图维护 (IVM) 功能的扩展模块。

增量视图维护 (IVM) 是一种使物化视图保持最新的方法,其中仅计算增量更改并将其应用于视图,而不是重新计算。 pg_ivm 提供一种立即维护的方式,其中在修改基表后立即更新物化视图。

源代码仓库: https://github.com/sraoss/pg_ivm