IVM Development Group is pleased to announce the release of pg_ivm 1.5.
Changes since the v1.4 release include:
Add CTE support (Yugo Nagata)
Simple CTEs (WITH queries) which do not contain aggregates or DISTINCT are supported similarly to simple sub-queries.
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: https://github.com/sraoss/pg_ivm/compare/1.4...v1.5
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: https://github.com/sraoss/pg_ivm