pg_ivm 1.5 发布

发布于 2023-01-31,由 IVM 开发组发布
相关开源项目

IVM 开发组很高兴地宣布 pg_ivm 1.5 发布。

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

新功能

  • 添加 CTE 支持(Yugo Nagata)

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

错误修复

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

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

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

    由于维护时此函数在内部使用,因此使用 generate_series 会因引用不明确而导致错误。

  • 禁止使用函数参数或表达式中的子查询创建 IMMV (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