Crunchy Data 很高興宣布發布 pg_partman 4.2.0,這是開源分割區管理 PostgreSQL 擴展的最新版本。
pg_partman 4.2 增加了對 PostgreSQL 12 的初步支援,並對 UNLOGGED
表在分割區集中的管理方式進行了重要變更。
pg_partman 是一個 PostgreSQL 擴展,可幫助您管理時間序列和基於序列的表分割區集,包括自動管理分割區建立和運行時維護。pg_partman 適用於 PostgreSQL 10 中引入的本機分割,因此使用者可以從顯著的效能增強中受益。
您可以按照 README 中的說明 安裝 pg_partman,或使用您選擇的偏好套件管理器。
pg_partman 增加了對 PostgreSQL 12 的初步支援,並且將在 PostgreSQL 12 發布後停止支援 PostgreSQL 9.4。
自 PostgreSQL 12 起,pg_partman 將不再支援繼承 OID,因為此特殊欄位行為已被移除。
本機分割中分割區集的 UNLOGGED
狀態現在由範本表而不是父表管理。
目前在 PostgreSQL 中,將本機分割的父表設定為 UNLOGGED
/LOGGED
不是可以使用 ALTER TABLE
變更的屬性。如果隨後在父表上變更了 UNLOGGED
/LOGGED
的狀態,它將不會傳遞到新的子表。
如果您認為您有受到此影響的子表,您將必須手動修復它們。如果您的任何本機分割區集是 UNLOGGED
,請務必在升級到此版本之前在範本表上設定此屬性。
pg_partman 將維持此行為,直到 PostgreSQL 確定 UNLOGGED
變更的明確處理方式。 如需更多資訊,請參閱:https://postgres.tw/message-id/flat/15954-b61523bed4b110c4%40postgresql.org
ANALYZE
的維護背景工作程序的預設選項,對於 PostgreSQL 11 及更高版本設為 false。 如果需要此功能,請在您的 postgresql.conf 中將選項 pg_partman_bgw.analyze
設定為 true。part_config(_sub)
表中新增了新的配置選項 constraint_valid
,以控制 pg_partman 可以管理的其他約束是否以 NOT VALID
狀態新增。 預設情況下,約束會像以前一樣新增為 VALID
。 請注意,如果此配置變更為 false
,則約束排除將無法運作,直到約束經過驗證。pg_class.relhasoids
欄位而導致 pg_partman 無法在 PostgreSQL 12 中建立子表的錯誤create_parent()
正確拋出錯誤。 以前,它不會報告任何錯誤,但也不會將正確的資料新增到 part_config
表中,因此未來的維護將無法運作。Crunchy Data 很榮幸支援 pg_partman 的開發和維護。