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

pg_ivm 1.5 发布

发布于 2023-01-31,作者 IVM Development Group
相关开源项目

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

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

新功能

  • 添加 CTE 支持 (Yugo Nagata)

    不包含聚合或 DISTINCT 的简单 CTE (WITH 查询) 的支持方式与简单子查询类似。

Bug 修复

  • 修复包含子查询的视图上自动索引创建的问题 (Yugo Nagata)

    此前,即使所有主键属性都出现在目标列表中,当创建包含子查询的 IMMV 时,也无法正确创建唯一索引。

  • 修复允许在 FROM 子句中使用 generate_series (Yugo Nagata)

    使用 generate_series 会在维护时由于歧义引用而导致错误,因为该函数是内部使用的。

  • 禁止在函数参数或表达式中使用子查询创建 IMMVs (Yugo Nagata)

    例如,类似以下的视图:

    • SELECT ... FROM func(..., (SELECT ... FROM ...), ..) ...;
    • SELECT expr(SELECT ... FROM ...) FROM ...;

    无法被正确维护,因此被禁止。

完整变更日志:https://github.com/sraoss/pg_ivm/compare/1.4...v1.5

关于 pg_ivm

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

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

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