2025年9月25日: PostgreSQL 18 发布!

pg_ivm 1.8 发布

发布于 2024-03-04,作者 IVM Development Group
相关开源项目

IVM Development Group 很高兴地宣布发布 pg_ivm 1.8

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

Bug 修复

  • 在维护 EXISTS 视图时考虑元组重复性 (Yugo Nagata)

    之前,没有考虑行的重复性,即使在 EXISTS 子查询的表插入操作导致生成重复元组时,也只插入一个元组。

  • 修复包含 EXISTS 子查询的表达式的检查 (Takuma Hoshiai, Yugo Nagata)

    EXISTS 子查询目前仅允许直接放在 WHERE 子句下,或放在直接位于 WHERE 下的 AND 表达式中。然而,之前的检查不够充分,导致使用 AND 以外的其他表达式包含 EXISTS 子查询的视图可以创建而不会报错,从而导致维护结果不正确。

  • 在打开 PgIvmImmvRelationId 之前检查其是否无效 (Colin Zhao)

    修复了在未执行 CREATE EXTENSION 命令而通过 shared_preload_libraries 安装 pg_ivm 时,删除表时发生的错误。

  • 修复了删除 pg_ivm 扩展时引发的错误 (Yugo Nagata)

    之前,DROP EXTENSION pg_ivm 失败,因为无法打开 pg_ivm_immv 目录表的索引,原因是该索引当时已经被删除了。

关于 pg_ivm

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

增量视图维护 (IVM) 是一种使物化视图保持最新的方法,其中只计算和应用对视图的增量更改,而不是重新计算。pg_ivm 提供了一种即时维护方式,物化视图在基础表被修改后会立即更新。

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