本文介紹PolarDB PostgreSQL版(相容Oracle)的產品功能動態,分別為核心小版本、控制台、時空資料庫和API的更新說明。
您可通過如下語句查看PolarDB PostgreSQL版(相容Oracle)的核心小版本的版本號碼:
SHOW polardb_version;PolarDB PostgreSQL版(相容Oracle)核心小版本號碼於北京時間2025年2月26日更新為6位格式,您可查看PolarDB核心小版本號碼格式更新確認變更細節以及核心小版本號碼更新前後對應關係。
2021年12月
核心小版本(V1.1.19)
類別 | 名稱 | 描述 | 相關文檔 |
新增 | sql mapping | PolarDB PostgreSQL版(相容Oracle)支援SQL映射功能,將錯誤的SQL映射為正確的SQL,從而避免由於錯誤SQL引起的問題。 | |
PX支援並行Update | 跨機並行查詢支援並行update,包括帶子查詢的update。 通過設定polar_px_enable_update參數,開啟或關閉該功能,預設值為false。
通過設定polar_px_update_dop_num參數,控制並行update的並發數,預設為6,範圍為1~128。 通過設定polar_px_enable_remove_update_redundant_motion參數,控制當讀寫worker數相同的情況時,是否移除多餘的motion運算元,預設為false。
| ||
PX支援並行Delete | 跨機並行查詢支援並行delete,包括帶子查詢和不帶子查詢的並行delete。 通過設定polar_px_enable_delete參數,開啟或關閉該功能,預設值為false。
通過設定polar_px_delete_dop_num參數,控制並行delete的並發數,預設為6,範圍為1~128。 通過設定polar_px_enable_remove_delete_redundant_motion參數,控制當讀寫worker數相同的情況時,是否移除多餘的motion運算元,預設為false。
| ||
PX支援partition wise join | 跨機並行查詢支援分區表的partition wise join進階特性。 | ||
相容Oracle視圖 | PolarDB PostgreSQL版(相容Oracle)相容Oracle的all_tab_columns /all_tab_comments2個視圖,以及all_objects視圖的部分列。 | ||
最佳化 | 支援DBMS_SQL.TO_CURSOR_NUMBER/DBMS_SQL.TO_REFCURSOR | 支援DBMS_SQL.TO_CURSOR預存程序。 例如, | 無 |
時空資料庫(V4.3)
類別 | 名稱 | 描述 | 相關文檔 |
新增 | ST_PixelAsPolygon函數 | 新增ST_PixelAsPolygon函數,將柵格像素轉換為Polygon對象。 | |
ST_PixelAsPolygons函數 | 新增ST_PixelAsPolygons函數,將柵格像素轉換為Polygon對象集合。 | ||
ST_PixelAsPoint函數 | 新增ST_PixelAsPoint函數,將柵格像素轉換為基於點方式表述的幾何對象。 | ||
ST_PixelAsCentroid函數 | 新增ST_PixelAsCentroid函數,將柵格像素轉換為基於中心點方式表述的幾何對象, | ||
ST_PixelAsPoints函數 | 新增ST_PixelAsPoints函數,將柵格像素轉換為點對象集合。 | ||
ST_PixelAsCentroids函數 | 新增ST_PixelAsCentroids函數,將柵格像素轉換為中心點對象集合。 | ||
最佳化 | 幾何模型 | Geometry相容PostGIS 3.1.4介面。 | 無 |
ST_AsDatasetFile函數 | ST_AsDatasetFile函數支援通過Grib2資料格式輸出。 | 無 | |
缺陷修複 | 修複柵格netcdf匯入時,空間參考擷取不正確的問題。 | ||
修複多外包框下equals結果不正確,導致可能外包框更新錯誤的問題。 | |||
2021年10月
核心小版本(V1.1.17)
類別 | 名稱 | 描述 | 相關文檔 |
新增 | 分區表DML支援執行期修剪 | 分區表支援update、delete在執行器期間(runtime)執行分區剪枝。 | |
彙總函式支援order by子句 | 彙總函式支援包含 | ||
trigger支援指定schema | 支援在triggername前允許指定schema。 | ||
二維關聯陣列支援 | 新增支援二維關聯陣列。 | ||
PX支援並行寫並行讀的Insert....Select....加速 | 跨機並行查詢在Insert...Select...單寫多讀的基礎上,改進為並行寫並行讀,進一步提升並行Insert...Select...的效能。 可以通過設定polar_px_insert_dop_num參數,控制寫並行度,預設值為6。
| ||
PX支援 Insert...Select from tableless的加速 | 跨機並行查詢支援Insert...Select from tableless(無表查詢)的加速,進一步提升並行Insert...Select...的效能。 可以通過設定polar_px_enable_insert_from_tableless參數,開啟或關閉無表查詢加速,預設值為0。
| ||
PX 支援Insert...Select對有序性敏感的SQL強制有序 | 跨機並行查詢可以通過設定參數
| ||
PX支援RowNum | 跨機並行查詢新增支援Oracle相容的RowNum運算式。 | ||
PX阻塞DDL逾時取消 | 當DDL操作與PX查詢發生鎖衝突而等待時,可以設定DDL等待鎖的時間,如果等待逾時,則強制中斷PX查詢,優先讓DDL獲得鎖並完成執行。 | ||
Leading Hint支援 | 支援Leading Hint,Leading Hint是一個能指定超過一個表的多表Hint。 | ||
DELETE FROM subquery | 支援DELETE FROM subquery。 | 無 | |
select unique的文法支援 | 新增select unique文法規則,支援了unique作為distinct的同義字。 | 無 | |
UPDATING IN SPL TRIGGER | 在DML trigger中,支援updating('colname')條件運算式。 | 無 | |
merge命令中的update/delete支援where | 支援了merge命令中update/delete出現where的情境。 | 無 | |
insert select 支援別名 | 支援了insert命令select別名的情況。 | 無 | |
copy支援多個字元的分隔 | Copy功能新增支援多個字元的分隔。 | 無 | |
最佳化 | 修複PX對polar_row_id的支援 | 跨機並行查詢支援polar_row_id。 | 無 |
standby並行回放 | Standby節點通過多進程來加速回放,減少standby節點與master節點之間的延遲。 | 無 |
時空資料庫(V4.1)
類別 | 名稱 | 描述 | 相關文檔 |
最佳化 | ST_ImportFrom函數 | 增強ST_ImportFrom函數,增加OSS檔案對應為記憶體檔案功能,提升資料匯入速度。 | |
Gist/TrajGist索引 | GisT索引和TrajGisT索引新增運算元族trajgist_ops_multi,用於多外包框索引索引值。 | ||
缺陷修複 | 新增向量金字塔支援中繼資料資訊查詢。 | ||
修複軌跡對象執行相交判斷時記憶體泄露問題。 | |||
2021年9月
核心小版本(V1.1.16)
類別 | 名稱 | 描述 | 相關文檔 |
新增 | outline支援手動query改寫 | 在PolarDB查詢改寫不符合預期時,支援使用outline來實現SQL的查詢改寫。 | |
PX支援AssertOp運算元 | PX支援執行器運行時約束檢查。 | ||
PX支援Oracle Decode運算式 | PX新增支援Oracle Decode運算式。 | ||
PX支援動態分區裁剪 | PX支援動態分區剪裁,提升分區表hash join時的效能。 | ||
Bind Message 中支援Holdable Portal | 支援SQL語句的跨事務訪問, 需要在SQL中添加 | 無 | |
Oracle風格的select for update |
| 無 | |
最佳化 | PX支援Const運算式 | 跨機並行查詢支援Const運算式。 | 無 |
運算元級記憶體限制 | 通過運算元級記憶體限制,降低OOM風險,提升PolarDB穩定性。 | 無 |
時空資料庫(V4.0)
類別 | 名稱 | 描述 | 相關文檔 |
最佳化 | 柵格表面計算函數 | 增強柵格表面計算函數返回Raster對象取代像素矩陣。 | |
ST_Split函數 | 增強ST_Split按照指定的規則對軌跡對象進行切分返回子軌跡數組。 | ||
缺陷修複 | 修複ST_SrEqual在某些條件下判斷失敗的問題。 | ||
2021年8月
核心小版本(V1.1.15)
類別 | 名稱 | 描述 | 相關文檔 |
新增 | Index Advisor記錄索引前後的代價 | Index_advisor_log表中增加兩列,分別表示增加索引前後的代價,方便上層應用(例如,資料庫自治服務DAS) 評估建立索引帶來的收益。 | 無 |
PX索引加速構建支援GLOBAL INDEX | PX新增支援了加速建立B-Tree索引的GLOBAL索引。 |
2021年7月
核心小版本(V1.1.14)
類別 | 名稱 | 描述 | 相關文檔 |
新增 | 適配GCC9編譯 | GCC升級至GCC9.2.1,支援更多編譯最佳化,提高效能。 | 無 |
outline支援hint | outline支援hint功能來控制需要被outline抓取的執行計畫。 | ||
跨機並行查詢支援hash分區 | 支援hash分區的並行查詢,從而平衡I/O,改善系統效能。 | ||
GLOBAL INDEX支援對分區表進行DDL操作 | 支援在對分區表進行DDL操作時(如DROP、SPLIT、MERGE等),操作該分區表下的所有GLOBAL INDEX。 | ||
最佳化 | ORA_HASH函數相容性 | ORA_HASH函數替換為DBMS_UTILITY.GET_HASH_VALUE,計算給定字串的散列值。 | 無 |
時空資料庫(V3.9)
類別 | 名稱 | 描述 | 相關文檔 |
新增 | ST_RemoveDriftPoints函數 | 新增ST_RemoveDriftPoints函數,使用指定規則刪除軌跡中的漂移點。 | |
ST_Split函數 | 新增ST_Split函數,使用指定的幾何對象對軌跡進行切分。 | ||
ST_ExportTo函數 | 新增ST_ExportTo函數,將軌跡匯出到外部檔案儲存體,資料庫內僅保留中繼資料。 | ||
ST_IsExternal函數 | 新增ST_IsExternal函數,檢查軌跡是否儲存於外部檔案。 | ||
ST_ImportFrom函數 | 新增ST_ImportFrom函數,將外部儲存模式的軌跡重新轉化為儲存在資料庫內的軌跡。 | ||
ST_StorageLocation函數 | 新增ST_StorageLocation函數,返回軌跡儲存在外部的位置。 | ||
ST_AKID函數 | 新增ST_AKID函數,返回讀取軌跡時,與OSS互動時所使用的AccessKeyID。 | ||
ST_SetAccessKey函數 | 新增ST_SetAccessKey 函數,設定讀取軌跡時,與OSS互動時所使用的AccessKey(包括AccessKeyID和AccessKeySecret,類似使用者名稱與密碼)。 | ||
ST_SetAKID函數 | 新增ST_SetAKID函數,設定讀取軌跡時,與OSS互動時所使用的AccessKeyID。 | ||
ST_SetAKSecret函數 | 新增ST_SetAKSecret函數,設定讀取軌跡時,與OSS互動時所使用的AccessKeySecret。 | ||
ST_SetStorageLocation函數 | 新增ST_SetStorageLocation函數,設定讀取軌跡時,外部檔案的儲存位置。 | ||
ST_DeleteGtf函數 | 新增ST_DeleteGtf函數,刪除指定檔案夾下所有的軌跡匯出的檔案。 | ||
缺陷修複 | 修複建立向量金字塔使用字串方式過濾失敗問題。 | ||
修複QGIS串連時無法列出圖層列表的問題。 | |||
2021年6月
核心小版本(V1.1.13)
類別 | 名稱 | 描述 | 相關文檔 |
新增 | polar_stat_sql/polar_stat_plan增加IO統計展示 |
| |
跨機並行查詢 | 跨機並行查詢功能可用於BRIN索引掃描,進一步提升查詢效能。 | ||
新增polar_bt_write_page_buffer_size參數,指定了索引構建過程中的寫IO策略。 | |||
支援從三種粒度指定跨機並行查詢的範圍:
| |||
支援對分區表使用跨機並行查詢的功能,提升資料庫效能。 | |||
最佳化 | 基於RTO的crash recover時間改進 | 支援配置polar_crash_recovery_rto參數,指定執行個體期望的RTO時間,從而保證在發生crash recovery時,資料庫可以在期望的RTO時間內完成崩潰恢複重啟,恢複可用狀態。 | 無 |
時空資料庫(V3.8)
類別 | 名稱 | 描述 | 相關文檔 |
新增 | ST_AsDatasetFile函數 | 新增ST_AsDatasetFile函數,支援將指定範圍的柵格對象以指定檔案格式的二進位流進行返回。 | |
ST_RasterDrivers函數 | 新增ST_RasterDrivers函數,支援對所有柵格資料驅動的狀態進行查詢。 | ||
缺陷修複 | 修複ST_Clip函數指定空間參考進行重投影操作失敗的問題。 | ||
2021年5月
核心小版本(V1.1.12)
類別 | 名稱 | 描述 | 相關文檔 |
新增 | 跨機並行查詢 | 支援跨機並行查詢計算引擎:
| |
分區表支援全域索引 | 分區表支援全域索引;同時支援並發構建索引,即在建立索引的過程中不阻塞表上的DML操作。 | ||
最佳化 | 效能監控 | 新增max_slot_wal_keep_size參數,限制使用複製槽(replication slot)的檔案大小,防止WAL檔案堆積。 | 無 |
DBLink | 預設開啟Unsafe Collate下推和ALL/ANY下推,從而極大提高查詢效能。可通過polar_enable_pushable_unsafe_collate_remote與polar_enable_pushable_all_any_remote參數進行關閉。 | ||
Rownum | 對Rownum進行了最佳化,相容rownum和varchar2/text比較時,按照數實值型別比較的行為。 | 無 | |
polar_resource_group外掛程式 | polar_resource_group外掛程式新增total_mem_limit_remain_size、idle_mem_limit_rate、enable_terminate_active、policy_mem_release、enable_log等參數,避免記憶體佔用過多而影響資料庫進程。 | 無 | |
提高唯讀節點啟動速度 | 提高唯讀節點的啟動速度,提升效能。 | 無 | |
主備切換 | 通過並行回放,加速恢複主備切換後的資料庫服務,通常情況下主庫異常可以15s內恢複服務。 | 無 |
時空資料庫(V3.7)
類別 | 名稱 | 描述 | 相關文檔 |
新增 | 時空並行查詢 | 支援空間索引並行查詢,提升查詢效率。 | |
最佳化 | 柵格影像處理 | ST_SubRaster函數支援柵格像元類型轉換以及像元值展開。支援多波段遙感影像轉三波段映像的AI識別情境。 | |
缺陷修複 | 修複柵格解析無效的長條圖資訊可能會導致資料庫崩潰的問題。 | ||
修複進行投影變化操作後,資料庫退出時可能會崩潰的問題。 | |||
修複柵格資料匯入時可能會出現崩潰的問題。 | |||
2021年4月
核心小版本(V1.1.11)
類別 | 名稱 | 描述 | 相關文檔 |
新增 | idle_session_timeout參數 | 新增idle_session_timeout參數,用於控制空閑會話的保留時間,超出保留時間的會話將會被釋放。
| |
約束DDL | 支援 | ||
資料表空間DDL | 支援資料表空間( TABLESPACE)相關的DDL操作,例如CREATE TABLESPACE。 | 無 | |
Numeric資料類型 | 相容Oracle的Numeric資料類型。如若需要可以通過設定 | 無 | |
缺陷修複 | 修複DBMS_JOB內建包跨庫使用的問題。 | ||
修複CONNECT BY與ROWNUM函數連用的問題。 | |||
修複CONNECT BY找不到上層對象的問題。 | |||
時空資料庫(V3.6)
類別 | 名稱 | 描述 | 相關文檔 |
新增 | 柵格資料類型 | 新增ST_RPCGeoreference函數,用於擷取柵格資料RPC(Rational Polynomial Coefficients)資訊。 | |
新增ST_SetRPCGeoreference函數,用於設定柵格資料RPC資訊。 | |||
新增ST_RPCRectify函數,用於根據柵格影像的RPC參數對柵格進行校正操作,返回校正後的柵格對象。 | |||
GisT索引 | 新增使用並行方式建立GisT索引。 | ||
缺陷修複 | 修複使用pg_dump時,自訂的空間參考無法匯出的問題。 | ||
2021年3月
核心小版本(V1.1.10)
類別 | 名稱 | 描述 | 相關文檔 |
新增 | 分區表 | 分區表支援Before Row-level觸發器。 | |
polar_outline外掛程式 | 支援使用polar_outline調整執行計畫,實現SQL語句最佳化。 | ||
最佳化 | 分區表 | INTERVAL RANGE分區支援子分區模板。 | |
效能最佳化 | 通過在共用記憶體中緩衝表大小資訊,最佳化了資料檔案I/O讀效能。 | 無 | |
相容性 | INTERVAL與FLOAT8資料類型支援如下操作符:
| 無 | |
相容性 | 新增OPT_PARAM HINT,通過該HINT可以在SQL層級指定特定參數的值。 |
時空資料庫(V3.5)
類別 | 名稱 | 描述 | 相關文檔 |
新增 | 大Object Storage Service最佳化 | 新增Simple儲存策略,最佳化大Object Storage Service。 | |
最佳化 | 柵格對象 | 使用柵格對象更新一個具有分塊資料的柵格對象進行時,系統會自動刪除原有柵格對象的分塊資料。 | 無 |
缺陷修複 | 修複Trajectory擴充無法升級的問題。 | ||
修複某些情況下,柵格對象採用Average重採樣時出錯的問題。 | |||
修複軌跡對象中如果多個時間戳記的軌跡點相同,查詢結果可能不正確的問題。 | |||
修複Geos對象轉換失敗後,直接退出的問題,同時對轉換失敗的原因進行提示。 | |||
核心小版本(V1.1.9)
類別 | 名稱 | 描述 | 相關文檔 |
新增 | 分區表 | 新增INTERVAL RANGE分區。INTERVAL RANGE分區是RANGE分區的擴充。當新插入的資料超過現有分區的範圍時,該分區允許資料庫自動建立新分區。 | |
RANGE分區和INTERVAL RANGE分區可以相互轉換。 | |||
新增SUBPARITITION TEMPLATE子分區模板,用於快速定義子分區,簡化子分區的規範。您只需在子分區模板中定義一次子分區描述符,然後將該子分區模板應用於表中的每個分區,從而快速批量地為表中的分區定義子分區描述符。 | |||
AWR監控 | 自動負載資訊庫(Automatic Workload Repository,簡稱AWR)是一種效能收集和分析工具。通過AWR工具,可以從資料庫的動態視圖等統計資訊記錄中產生一份該時段的統計分析報告,分析資料庫在某個時間段的效能。 | 無 | |
最佳化 | 分區表 | 分區表在計劃階段進行修剪最佳化,提高查詢效能。 | 無 |
資料類型 | PolarDB PostgreSQL版(相容Oracle)使用timestamp作為Date資料類型,精確到微秒;而Oracle的Date資料類型只精確到秒,為了保證PolarDB PostgreSQL版(相容Oracle)和Oracle的相容性,將自動把Date資料類型轉換為 timestamp(0)。 | 無 | |
WAL | 採用流水線技術,最佳化WAL開銷佔比,提高整體系統的效能。 | 無 | |
TO_CHAR | 在服務端自動識別 | 無 | |
缺陷修複 | 修複無用SIGHUP訊號。 | ||
修複MERGE INTO分區表會導致崩潰的問題。 | |||
修複pg_icu_collate_names時會訪問非法記憶體的問題。 | |||
修複ALTER QUEUE ADD CALL訪問非法記憶體的問題。 | |||
修複POLICY系統資料表定義中rdname欄位的屬性設定為定長,但是傳入新值時使用的卻是變成字串,導致訪問非法記憶體的問題。 | |||
修複TDE功能中沒有聲明導致函數傳回值地址被截斷的問題。 | |||
修複roaringbitmap外掛程式對輸入異常參數時訪問非法記憶體的問題。 | |||
修複當唯讀節點落後很多日誌時,可能不會及時給主節點流複製反饋,導致流複製連結中斷的問題。 | |||
時空資料庫(V3.4)
類別 | 名稱 | 描述 | 相關文檔 |
新增 | 大Object Storage Service最佳化 | 為了加速時空資料索引構建、提高空間查詢效率,最佳化時Null 物件的儲存模式,支援使用時空大對象特徵簽名,新增polar_enable_storage_partial參數,支援時Null 物件行內與行外組合儲存。 | |
柵格模組支援函數並行化執行 | ST_ImportFrom函數支援柵格資料並行化匯入。 | ||
ST_BuildPyramid函數支援柵格資料並行建立金字塔。 | |||
Trajectory Empty | 新增Trajectory Empty對象,支援某些情境下不符合要求而返回NULL對象。 | 無 | |
缺陷修複 | 修複ST_AddZ函數在16BSI情況下可能結果不正確的問題。 | ||
修複Trajectory模組在某些情況下無法升級的問題。 | |||
修複Trajectory模組中部分函數無法利用索引的問題。 | |||
修複部分nd函數沒有正確處理時間段不相交的情境,導致返回error而非false的問題。 | |||
2021年1月
核心小版本(V1.1.8)
類別 | 名稱 | 描述 | 相關文檔 |
新增 | DBMS_STATS外掛程式 | 支援DBMS_STATS外掛程式,用於收集資料庫運行過程中的相關統計資訊,提供現有統計資訊的備份,以及將備份統計項進行還原。 | |
寫後讀事務拆分 | 在READ COMMITTED層級下,支援寫後讀語句的事務拆分。可將事務開啟到事務結束中所有的讀請求發送到唯讀節點,從而保證事務中的讀寫一致性。 | ||
最佳化 | OR運算式 | 原有OR運算式無法自動轉換為UNION ALL,導致部分情況下查詢效率很低,必須全表掃描。現支援將OR運算式自動轉換為UNION ALL,實現邏輯最佳化,大幅提升查詢效能。 | 無 |
ECPG相容性 |
| 無 | |
Oracle相容性 |
| 無 | |
PBP | 預設開啟主節點的持久化緩衝池(Persisted Buffer Pool)。 | 無 | |
同步Kafka分區表 | PolarDB PostgreSQL版(相容Oracle)到kafka同步分區表配置最佳化。按父表名配置,同步後的表名也是父表名。 | 無 | |
使用者 | 調整 | ||
缺陷修複 | 修複DBMS_JOB的無主鍵表在邏輯複製中刪除任務報錯的問題。 | ||
修複資源群組(Resource Group)進程在記憶體資源超限時出現記憶體流失的問題。 | |||
修複Standby Promote時間較長的問題。 | |||
修複***_all_tables視圖中temporary欄位的暫存資料表參數顯示問題。 | |||
修複審計日誌越界記憶體訪問的問題。 | |||
修複PolarDB PostgreSQL版(相容Oracle)到PostgreSQL的DBLink查詢結果截斷的問題。 | |||
修複分區表子分區多分區鍵剪枝(prune)缺陷。 | |||
時空資料庫(V3.3)
類別 | 名稱 | 描述 | 相關文檔 |
新增 | ST_JaccardSimilarity函數 | 新增ST_JaccardSimilarity函數,用於計算軌跡對象相似性。 | |
ST_Transform函數 | 新增ST_Transform函數,用於將軌跡從一個空間參考系轉換到另一個空間參考系。 | ||
最佳化 | 向量金字塔 | 建立向量金字塔時,支援使用者指定建立範圍,解決在部分情境下無法自動計算空間範圍的問題。 | 無 |
缺陷修複 | 修複某些環境下,Ganos資料目錄設定不正確的問題。 | ||