1. 版本概览

[发行日期:2024年12月23日]

IvorySQL 4.0基于PostgreSQL 17.0,并修复了多个问题。更多信息请参考 文档网站

2. 增强功能及问题修复

  • PostgreSQL 17.0

    1. 新的 VACUUM 内存管理系统,可减少内存消耗并提升整体 VACUUM 性能。

    2. 新增 SQL/JSON 功能,包括构造函数、标识函数以及 JSON_TABLE() 函数,可将 JSON 数据转换为表格表示。

    3. 各种查询性能改进,包括基于流式 I/O 的顺序读取、在高并发下的写入吞吐量,以及在 B-tree 索引中对多个值的搜索优化。

    4. 增强逻辑复制功能。

    5. 新的客户端连接选项 sslnegotiation=direct,通过直接 TLS 握手避免额外的往返协商。

    6. pg_basebackup 现在支持增量备份。

    7. COPY 增加了新选项 ON_ERROR ignore,允许在出现错误时继续执行复制操作。

    更多细节, 请参阅 PostgreSQL发布说明.

  • IvorySQL 4.0

    1. Oracle 不可见列的兼容: #608

      在 Oracle 模式下新增对不可见列的支持,并在 psql 的扩展描述命令(\d+)中显示不可见列的信息。 对表的常规访问将不会显示不可见列。不可见列必须通过其列名显式引用,查询和其他操作才能访问这些列。

    2. Oracle 包兼容性: #589

      支持 PL/SQL 包管理功能,包括创建、修改和描述包及包体。 增强了 PostgreSQL 交互式终端(psql),新增 \k 命令,用于与包相关的操作。 此外,通过新的 ACL 函数实现了高级权限管理,并引入了包缓存机制以提升性能。

    3. 函数 pg_get_functiondef 支持多个 OID 和函数名: #696

      增强函数 pg_get_functiondef() 以支持在参数列表中传入多个函数 OID。现在,它还可以导出具有相同名称但不同参数的函数定义。

    4. 将 'ivorysql' 添加为默认数据库: #575

    5. 提供Ubuntu安装包: #703

3. 源代码

IvorySQL主要包含2个代码仓库:

4. 贡献人员

以下个人(按姓氏排序)作为补丁作者、提交者、审查者、测试者或问题报告者为此版本做出了贡献。

  • Cary Huang

  • Grant Zhou

  • Imran Zaheer

  • jerome-peng

  • 冯若航

  • 付贝

  • 高雪玉

  • 矫顺田

  • 梁翔宇

  • 吕新杰

  • 牛世继

  • 任娇

  • 王丽

  • 王守波

  • 文一

  • 许振伟

  • 严少安

  • 赵法威

  • 周家杰