pg_ivm 1.5 released

Posted on 2023-01-31 by IVM Development Group
Related Open Source

IVM Development Group is pleased to announce the release of pg_ivm 1.5.

Changes since the v1.4 release include:

New feature

  • Add CTE support (Yugo Nagata)

    Simple CTEs (WITH queries) which do not contain aggregates or DISTINCT are supported similarly to simple sub-queries.

Bug fixes

  • Fix automatic index creation on views containing a subquery (Yugo Nagata)

    Previously, a unique index could not be created properly when an IMMV containing a subquery was created even if all primary key attributes appeared in the target list.

  • Fix to allow generate_series in FROM clause (Yugo Nagata)

    Using generate_series caused an error due to an ambiguous reference at the maintenance time because this function is used internally.

  • Prohibit to create IMMVs using subqueries in a function argument or in an expression (Yugo Nagata)

    For example, views like

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

    cannot be maintained correctly, so they are prohibited.

Full Changelog:

About pg_ivm

pg_ivm is an extension module that provides Incremental View Maintenance (IVM) feature.

Incremental View Maintenance (IVM) is a way to make materialized views up-to-date in which only incremental changes are computed and applied on views rather than recomputing. pg_ivm provides a kind of immediate maintenance, in which materialized views are updated immediately after a base table is modified.

Source repository: