大數(shù)據(jù)就業(yè)實戰(zhàn)培訓(xùn) Oracle就業(yè)實戰(zhàn)培訓(xùn)
PostgreSQL全球發(fā)展小組已發(fā)布所有受支持版本的PostgreSQL的更新,包括17.5、16.9、15.13、14.18和13.21。 此版本修復(fù)了過去幾個月中報告的1個安全漏洞和超過60個錯誤。
PostgreSQL 13 結(jié)束支持聲明
PostgreSQL 13 將于 2025 年 11 月 13 日停止接收修復(fù)。如果您在生產(chǎn)環(huán)境中運行 PostgreSQL 13,我們建議您計劃升級到最新支持版本的 PostgreSQL。
安全問題
CVE-2025-4207:PostgreSQL GB18030 編碼驗證可以讀取驗證失敗的文本在分配結(jié)束后的一頁字節(jié)
CVSS v3.1 基礎(chǔ)評分: 5.9
支持版本、易受攻擊版本:13 - 17。
在PostgreSQL GB18030編碼驗證中,一個緩沖區(qū)過讀允許數(shù)據(jù)庫輸入提供者在某些平臺上實現(xiàn)臨時的服務(wù)拒絕。這影響了數(shù)據(jù)庫服務(wù)器和libpq。受影響的版本包括PostgreSQL 17.5、16.9、15.13、14.18和13.21之前的所有版本。
錯誤修復(fù)和改進
此更新修復(fù)了過去幾個月中報告的60多個錯誤。 以下列出的問題影響PostgreSQL 17。這些問題可能也會影響其他受支持的PostgreSQL版本。
正確處理分區(qū)表上的自引用外鍵。創(chuàng)建或附加分區(qū)失敗,如果外鍵引用的表是相同的分區(qū)表,則無法為外鍵約束創(chuàng)建所需的目錄條目。這導(dǎo)致無法完全強制執(zhí)行該約束。要解決此問題,請參閱“更新”部分中的說明。
修復(fù)了在使用BRIN bloom索引時(例如使用date_bloom_ops操作符類)可能導(dǎo)致數(shù)據(jù)丟失的問題。
修復(fù) MERGE 到一個 分區(qū)表中,執(zhí)行 DO NOTHING 操作。
防止在INSERT 命令中失敗,當(dāng)表有一個GENERATED列 的域類型 且該域的約束不允許NULL值。
修復(fù)ALTER TABLE .. ADD COLUMN以正確處理具有域類型且有其自己的默認(rèn)值,而DEFAULT列沒有設(shè)置默認(rèn)值的情況。
修復(fù)在JSON構(gòu)造函數(shù)表達式的鍵中進行類型轉(zhuǎn)換時的問題。
修復(fù)XMLSERIALIZE(),以便在INDENT視圖或規(guī)則中存在時,正確地導(dǎo)出該選項。這在恢復(fù)時是顯而易見的。
多個查詢計劃器修復(fù),包括避免在具有 FILTER和 ORDER BY或 DISTINCT子句的聚合函數(shù)中過早評估參數(shù),這可能導(dǎo)致不必要的失敗。
修復(fù)了在對同一表執(zhí)行真空操作時執(zhí)行沒有輸出列的位圖掃描可能會返回不正確結(jié)果的問題。
修復(fù)在有大量搜索鍵(例如,jsonbcol ?| array[...]有數(shù)萬數(shù)組元素)時GIN索引搜索啟動的性能問題。
確保活動WAL發(fā)送器的I/O統(tǒng)計數(shù)據(jù)在最多一秒鐘內(nèi)被報告。
修復(fù)在處理中出現(xiàn)的競爭條件synchronous_standby_names在啟動后立即,后端可能無法等待同步提交。
如果scram_iterations 設(shè)置為INT_MAX,則避免無限循環(huán)。
對邏輯復(fù)制進行了一些修復(fù),包括處理邏輯解碼仍需要的已刪除行周圍的 vacuum。
防止?jié)撛诘臄?shù)據(jù)丟失,當(dāng)不采取強鎖的模式修改操作(DDL)影響正在邏輯復(fù)制的表時。
防止由于應(yīng)用工作錯誤處理而在邏輯復(fù)制中出現(xiàn)的問題,導(dǎo)致重復(fù)數(shù)據(jù)被應(yīng)用。
改進如何reindexdb 處理調(diào)度并行重新索引操作以實現(xiàn)預(yù)期的并行度。
此版本還更新了時區(qū)數(shù)據(jù)文件至tzdata 2025b版本,以反映智利的夏令時法律變更,以及伊朗的歷史修正。此外,新增了一個智利Aysén地區(qū)的時區(qū)文件America/Coyhaique,以反映該地區(qū)全年使用UTC-03時區(qū),這與America/Santiago不同。
更新中
所有 PostgreSQL 更新版本都是累積的。與其他小版本發(fā)布一樣, 用戶不需要導(dǎo)出和重新加載數(shù)據(jù)庫或使用 pg_upgrade 來應(yīng)用這個更新版本; 您可以簡單地關(guān)閉 PostgreSQL 并更新其二進制文件。
如果您在分區(qū)表上創(chuàng)建了自引用外鍵,更新后,如果在約束創(chuàng)建之后創(chuàng)建或附加了分區(qū),您應(yīng)該刪除并重新創(chuàng)建這些自引用外鍵。分區(qū)中可能會有違反此約束的行,在這種情況下,重新創(chuàng)建約束將失敗,您需要在再次嘗試之前更正這些行。
跳過了一個或多個更新版本的用戶可能需要運行額外的更新后步驟;請參閱早期版本的發(fā)行說明以獲取詳細(xì)信息。
欲了解更多詳情,請參閱 發(fā)行說明。
來源:發(fā)布于 2025-05-08 由 PostgreSQL 全球開發(fā)組,百度翻譯結(jié)果