2025年9月25日: PostgreSQL 18 釋出!

pg_ivm 1.10 釋出

釋出於 2025-03-14,作者:IVM Development Group
相關開源專案

IVM Development Group 榮幸地宣佈釋出 pg_ivm 1.10

自 v1.9 版本以來,主要變更包括:

Bug 修復

  • 修復 DROP EXTENSION 失敗問題 (Ishant Bhaskar)

    之前,刪除 pg_ivm 會因為一個鉤子函式(該函式允許在 IMMV 上執行 DROP TABLE 來移除其在 pg_ivm_immv 中的條目)而導致錯誤“無法開啟 OID ... 的關係”。此外,在執行 DROP EXTENSION pg_ivm 的同時執行 DROP TABLE 也可能導致同樣的錯誤。

  • 使用返回集合的函式時防止自動建立索引 (Yugo Nagata)

    之前,即使在 FROM 子句中出現了返回集合的函式,也會自動建立一個唯一索引,這會導致因鍵重複而產生的錯誤。

  • 將模式從 pg_catalog 更改為 pgivm (Yugo Nagata)

    之前,由於許可權問題導致 pg_upgrade 失敗,因為 pg_ivm_immv 目錄是在 pg_catalog 中建立的。為了解決這個問題,pg_ivm 建立的所有物件都已移動到 pgivm 模式,該模式現在由 pg_ivm 自動建立。

    重大變更:這會影響與先前版本的相容性。如果您想像以前一樣訪問 create_immv 函式等物件,則必須使用 pgivm 模式限定它們,或相應地調整您的 search_path。

  • 修復了從表中刪除列時的檢視維護失敗問題 (Yugo Nagata)

    當表中包含已刪除的列時,增量檢視維護會因類似以下錯誤而失敗:

    錯誤:在子查詢的目標列表中找不到屬性 43

  • 修復潛在的檢視不一致問題 (Yugo Nagata)

    之前,在以下場景下,檢視內容可能與基表不一致:

    1) 併發事務修改了基表,並在當前事務的增量檢視維護開始之前提交。

    2) 併發事務修改了基表,並在 create_immv 或 refresh_immv 命令生成資料之前提交。

    3) 併發事務以自連線的方式增量更新檢視,或同時修改多個基表。

    這些問題現已得到解決,以確保一致性。

關於 pg_ivm

pg_ivm 是一個擴充套件模組,提供增量檢視維護 (IVM) 功能。

增量檢視維護 (IVM) 是一種使物化檢視保持最新的方法,其中只計算和應用對檢視的增量更改,而不是重新計算。pg_ivm 提供了一種即時維護方式,物化檢視在基礎表被修改後會立即更新。

原始碼倉庫:https://github.com/sraoss/pg_ivm