近日,IvorySQL開源社區正式發布IvorySQL 5.0版本。該版本基于PostgreSQL 18.0進行全面迭代升級,在Oracle兼容性上實現新突破,生態組件集成能力持續進階,同時深度適配云原生場景,同步提供全平臺安裝包與在線流暢體驗,助力開發者簡化復雜業務場景的落地流程,提升開發效率。
基于PostgreSQL 18.0
PostgreSQL 18.0核心升級:
1.引入異步IO(AIO)子系統,可顯著提升順序掃描、位圖堆掃描、VACUUM等操作的性能。
2.pg_upgrade工具:新增優化器統計信息保留功能。
3.支持跳躍掃描(skip scan),使多列B-tree索引在更多場景下可用。
4.新增uuidv7()函數:生成時間戳有序的UUID。
5.虛擬生成列:讀取時動態計算列值,現已成為生成列的默認類型。
6.支持OAuth認證。
7.RETURNING子句增強:INSERT/UPDATE/DELETE/MERGE命令支持OLD和NEW關鍵字。
8.時間范圍約束:為PRIMARY KEY、UNIQUE、FOREIGN KEY約束添加范圍級約束支持。
更多細節請查看PostgreSQL 18.0發行說明:
https://www.postgresql.org/docs/release/18.0/
新特性
新增21個Oracle兼容功能
?Oracle兼容ROWID支持:確保IvorySQL行標識符與Oracle語義一致,便于跨數據庫工具無縫遷移。
?PL/iSQL CALL調用語法:新增Oracle風格的CALL入口點,實現存儲過程統一調用。
?PL/iSQL %ROWTYPE支持:允許變量映射整個表或游標行結構,簡化PL/iSQL編碼。
?PL/iSQL %TYPE支持:支持變量繼承現有列或變量的數據類型,減少類型漂移。
?大小寫敏感兼容開關:按需保留標識符大小寫,以匹配Oracle行為。
?NLS參數兼容:支持Oracle風格的NLS設置,如NLS_DATE_FORMAT、NLS_TIMESTAMP_FORMAT等。
?空字符串轉NULL:將零長度字符串自動轉換為NULL,以符合Oracle的兼容性規則。
?解析器切換能力:新增在Oracle和PostgreSQL解析器之間切換的能力,實現會話級的靈活配置。
?GB18030數據庫編碼支持:新增GB18030初始化和數據庫創建選項,全面覆蓋中文市場需求。
?Oracle兼容SYS_GUID函數:實現Oracle的SYS_GUID函數,用于生成基于RAW的全局唯一標識符(GUID)。
?Oracle兼容SYS_CONTEXT函數:提供Oracle SYS_CONTEXT API,用于查詢會話與環境元數據。
?Oracle兼容USERENV函數:增加USERENV函數,支持會話查詢Oracle風格的上下文信息。
?Oracle兼容函數語法:支持EDITIONABLE/NONEDITIONABLE、RETURN、IS、OUT ... NOCOPY等Oracle語法結構。
?Oracle兼容存儲過程語法:支持含Oracle選項的存儲過程DDL、EXEC調用及ALTER PROCEDURE操作。
?libpq OUT參數支持:擴展客戶端協議處理能力,使OUT參數可像OCI一樣被消費。
?存儲過程OUT參數支持:允許存儲過程按照Oracle規范聲明IN、OUT和IN OUT模式參數。
?函數OUT參數支持:支持函數中使用Oracle風格OUT參數,包括IN OUT組合模式。
?嵌套子程序:支持在子程序內部聲明函數或過程,并支持重載。
?Oracle兼容INSTR函數:匹配Oracle INSTR的子串搜索和位置檢查行為。
?Oracle兼容FORCE VIEW:支持在引用對象不存在時創建視圖,模擬Oracle的FORCE選項。
?Oracle兼容LIKE運算符:使模式匹配語義與Oracle對齊,確保通配符行為可預測。
在線體驗與多平臺發行包
?在線體驗環境:推出基于瀏覽器的交互式環境,無需安裝即可實時體驗IvorySQL 5.0。
?全平臺打包支持:提供X86、ARM、MIPS、LoongArch架構的多平臺安裝包。
云原生與容器化
?容器化部署支持(Docker Compose & podman & Docker Swarm):支持在Docker Compose、podman和Docker Swarm環境中部署單機版IvorySQL數據庫及高可用集群。
?容器化部署支持(Kubernetes):支持通過Helm在Kubernetes(K8s)上部署單機版IvorySQL數據庫及高可用集群。
?IvorySQL Operator v5發布(Kubernetes進階版):適配IvorySQL 5.0,同步升級系統組件版本及數據庫擴展版本。
?IvorySQL Cloud 5.0發布:支持IvorySQL 5.0數據庫的可視化托管控制平面,覆蓋訂閱、全生命周期管理以及生態集成。
擴展適配
?pg_cron:通過集成pg_cron實現在數據庫層執行定時任務。
?pgAudit:通過標準PostgreSQL日志設施提供細粒度的會話與對象審計日志。
?PostGIS:通過PostGIS兼容性支持空間數據處理與地理空間分析。
?pgRouting:引入pgRouting支持,提供網絡與路徑分析功能。
?PGroonga:增強全文搜索能力。
?ddlx:支持ddlx,實現高級模式自省與自動化DDL生成。
?pgsql-http:允許數據庫內部發起HTTP/HTTPS請求,實現與外部Web服務的無縫通信。
?system_stats:提供系統級統計信息。
?plpgsql_check:對PL/pgSQL函數進行靜態代碼分析,在運行前發現錯誤、警告與潛在問題。
?pgvector:集成pgvector,原生支持向量相似度搜索,賦能AI/ML工作負載。
詳細的變化請查看:Complete Changelog:
https://github.com/IvorySQL/IvorySQL/compare/IvorySQL_4.6...IvorySQL_5.0
已修復問題
?修復unused_oids與duplicate_oids目錄工具,使頭文件掃描能準確檢測OID沖突,避免誤報。
?為libpqivytest產物添加.gitignore規則,防止生成的二進制文件和日志污染開發者工作目錄。
?擴展GitHub workflow回歸測試,覆蓋--with-libnuma配置,防止未來在支持NUMA的主機上出現故障。
?消除了MainLoop中的懸空指針場景,解決了在高并發壓力下偶發的段錯誤。
?修復測試框架假設,重新啟用oracle_test/modules/sql測試用例,使Oracle兼容性測試套件可再次端到端執行。
?更新README.md與README_CN.md,同步IvorySQL v5功能集、打包與入門指南。
?修正全局唯一索引強制約束邏輯,使相關回歸測試在所有支持平臺穩定通過。
源碼倉庫
IvorySQL的開發主要在以下四個倉庫進行維護:
IvorySQL數據庫源碼:
https://github.com/IvorySQL/IvorySQL
IvorySQL官網:
https://github.com/IvorySQL/Ivory-www
IvorySQL文檔:
https://github.com/IvorySQL/IvorySQL-docs
IvorySQL Docker:
https://github.com/IvorySQL/docker_library
問題反饋
社區歡迎大家試用IvorySQL 5.0,如果在使用的過程中出現問題或發現bug,歡迎您在GitHub提交Issue。
https://github.com/IvorySQL/IvorySQL/issues
致謝
最后,致謝各位貢獻者!感謝大家在產品發布的過程中做出貢獻,為社區發展添磚加瓦。
以下是該版本的貢獻者(排名不分先后):

-
開源
+關注
關注
3文章
4280瀏覽量
46356 -
函數
+關注
關注
3文章
4419瀏覽量
67736
原文標題:IvorySQL 5.0發布:基于PG 18.0,Oracle兼容、生態組件、云原生與易用性全面進化!
文章出處:【微信號:開放原子,微信公眾號:開放原子】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
開源鴻蒙6.1 Release版本正式發布,在鴻OS 6.1率先完成升級適配!
壁仞科技壁礪166M產品適配騰訊混元開源翻譯模型1.5版本
2025開放原子開發者大會AI時代數據庫創新實踐分論壇成功舉辦
新一代AtomGit平臺暨人工智能開源社區發布
開源鴻蒙6.1和8.1版本定為LTS建議版本,最新OpenHarmony路標發布
開源鴻蒙6.0 Release版本重磅發布
北京國際開源社區取得積極進展
開放原子電鴻開源社區正式成立
開源鴻蒙社區年中技術會議成功舉辦
開源鴻蒙6.0Beta1版本發布!觸覺智能將率先適配RK3566/RK3568/RK3576等芯片平臺芯片
IvorySQL開源社區正式發布IvorySQL 5.0版本
評論