IVM Development Group is pleased to announce the release of [pg_ivm 1.5](
https://github.com/sraoss/pg_ivm/releases/tag/v1.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**: https://github.com/sraoss/pg_ivm/compare/1.4...v1.5
### 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:
[https://github.com/sraoss/pg_ivm](https://github.com/sraoss/pg_ivm)