截至目前,IvorySQL已成功发布10个版本,并最新推出了IvorySQL 3.0。此版本不仅继承了PostgreSQL 16.0的最新内核和功能,还扩展了更多企业级特性。
相比于PostgreSQL社区版,IvorySQL 3.0在兼容性和易用性方面实现了显著提升,同时为适应容器化和云端环境提供了更为全面的支持。3.0具备更为完善的数据库特性和创新的功能,提供高度的SQL和PL/SQL兼容性,并充分利用PostgreSQL开源生态,为企业用户在OLTP业务上提供更加高效、稳定和灵活的平滑去“O”解决方案。
01 版本介绍
[发行日期:2023年11月17日]
IvorySQL 3.0 基于 PostgreSQL 16.0 ,包含来自 PostgreSQL 16.0 的各种修复。有关 PostgreSQL 16.0 中更详细的更新和错误修复,请参阅官方 PostgreSQL 16.0 发行说明 。
🔗https://www.postgresql.org/docs/release/16.0/
02 已知问题
暂无。
03 增强功能
4.1. IvorySQL 框架
-
添加双Parser支持不同的数据库parser
-
添加双端口支持不同的数据库端口号
-
添加 initdb -m,支持postgres模式或Oracle模式
4.2. SQL兼容
-
兼容oracle merge command
-
兼容oracle q转义
-
兼容oracle like
4.3. PL/SQL兼容
-
解决PL/SQL创建函数/存储过程存在问题
-
兼容Oracle匿名块
-
在 SQL parser中创建函数或过程支持嵌套子过程
-
嵌套的子进程和函数is/as不需要声明
4.4. 其它
-
在action中增加meson编译
-
支持meson编译
-
添加兼容的测试用例
-
添加contrib回归
-
兼容btree_gist索引
-
兼容btree_gin索引
-
添加Oracle数据类型 GIN索引操作
-
添加Oracle数据类型 Gist索引操作
-
兼容Oracle内置数据类型与内置函数
-
添加plisql扩展
04 问题修复
1)使用meson编译后,initdb执行失败。
2)字符类型null值的运算符结果不正确。
3)还原备份时出错。
4)ivorysql_ora部分测试用例失败。
5)nls参数指定ff精度与表指定精度的三种关系下,对超出长度的数据处理不一致。
6)日期格式中的DD HH.MI,SS AM中数据出现特殊符号后的数据处理与Oracle不一致。
7)对日期格式,各部分位数校验均存在问题。
8)NLS相关参数校验问题。
9)解决NLS参数设置为12小时制,默认完成AM/PM关键字的规则与Oracle不一致问题。
10)带默认值创建的函数/存储过程xx_arguments视图中DEFAULTED字段值为N问题。
11)无权限的函数/存储过程 可以被all_procedures/all_arguments/all_source视图查看。
12)当自增列类型为numer类型,且指定了精度时,by default on null插入null值时,不是插入的具体序列值,而是插入的null值。
说明:关于新增功能更多介绍请参考本文档中心功能列表
05 源代码
IvorySQL主要包含2个代码仓库,IvorySQL代码仓和网站仓:
IvorySQL代码仓:
https://github.com/IvorySQL/IvorySQL
IvorySQL网站仓:
https://github.com/IvorySQL/Ivory-www
06 版本差异
IvorySQL 3.0版本在架构上进行了大幅度更新升级,因此其使用方式与2.3版本有所不同。此外,一些在2.3版本中可用的功能在3.0版本中尚未得到支持。
关于两个版本之间功能差异的详细说明,请参阅IvorySQL 3.0官方文档 。
🔗https://docs.ivorysql.org/cn/ivorysql-doc/v3.0/v3.0/1.html
贡献人员
感谢您对此版本付出的努力,以下个人作为补丁作者、提交者、审阅者、测试者或问题报告者为本版本做出了贡献。
Pro development & testing team
谭洋
王杰
穆帅楠
张洪源
Cary Huang
Grant Zhou
David Zhang
王守波
任娇
刘政
肖哲凯
金华建
王丽
宋金周
Leo X.M. Zeng
严少安
M.Imran Zaheer
Yunhe Xu
王皓
董小姐
韩伟博
点击 “IvorySQL :: IvorySQL文档中心” 开启IvorySQL 3.0 Release Notes的探索之旅,了解更多特性。