The IVM Development Group has announced the release of pg_ivm 1.16, the latest version of the extension that brings incremental view maintenance (IVM) to PostgreSQL. Building on v1.15, this release focuses on compatibility with the upcoming PostgreSQL 19 and addresses several correctness and stability issues that could affect production deployments.
- Added support for PostgreSQL 19, contributed by Devrim Gündüz, ensuring the extension stays current with the next major server release.
- Fixed a segfault that occurred when an IMMV (incrementally maintainable materialized view) was maintained and dropped within the same transaction (Yugo Nagata).
- Fixed IVM maintenance for tables containing types without default equality operators. Previously, updates failed even when the column was not referenced in the view definition (Yugo Nagata).
- Corrected OID handling when the OID exceeds
INT_MAX, which previously caused view maintenance to fail once the global OID counter crossed that threshold (Artur Aleksander Kanošin). - Prevented spurious transaction failures during incremental maintenance by refining lock release timing on the materialized view, avoiding unnecessary
lockerrors and intermittent isolation test failures under load (Dzmitry Levankou).
For developers, these fixes matter because they remove hard-to-diagnose crashes and transaction aborts that can silently break applications relying on incrementally maintained views. The OID overflow fix is particularly important for long-running clusters where the OID counter is likely to exceed INT_MAX. The lock-timing correction improves reliability in concurrent environments, eliminating flaky test failures and spurious errors during commit. Support for PostgreSQL 19 signals that pg_ivm is ready for the next generation of PostgreSQL, making it a safer choice for teams planning upgrades. Users of earlier versions are encouraged to update to 1.16 to benefit from the stability improvements.
Source: https://www.postgresql.org/about/news/pg_ivm-116-released-3391/