IvorySQL 4.0 发布:全面支持 PostgreSQL 17

IvorySQL 开源社区小伙伴们,大家好,IvorySQL 开源社区今天激动的向大家宣布:IvorySQL 4.0 发布了!

这是 2024 年以来发布的最新版本,相较于上个版本,有了较大的变化。

该版本有多项增强:全面支持 PostgreSQL 17,新增和完善多种 Oracle 兼容特性,如不可见列特性和包功能等。

下面将会为大家详细解读。

新功能解读

全面支持 PostgreSQL 17

PostgreSQL 17 在很多方面进行了能力提升:

  • VACUUM 启用新的内存管理机制,在提升 VACUUM 性能的同时降低了内存消耗
  • 深化了 SQL/JSON 支持,新增了SQL/JSON 构造函数和查询函数,以及 JSON_TABLE 功能,支持将JSON 转换为标准 PostgreSQL 表
  • 各方面的性能提升,包括引入流式 I/O 接口,提升了顺序扫描的性能,高并发写入性能,以及在 btree 索引中搜索多个值的能力
  • 逻辑复制支持复制槽故障转移,在大版本升级时可以保留逻辑复制槽
  • pg_basebackup 支持增量备份
  • COPY 命令新增 ON_ERROR 选项,允许在插入错误时继续执行

IvorySQL 4.0 全面支持 PostgreSQL 17,使用 IvorySQL 4.0 也可体验 PostgreSQL 17 的新功能。

新增和完善多种 Oracle 兼容特性

不可见列特性

在原生 PostgreSQL 17 的基础上,IvorySQL 4.0 新增兼容 Oracle 不可见列特性帮助用户轻松应对去 "O" 业务需求。

新引入的不可见列特性让用户可以更好地控制列的可见性。对表的访问不会显示不可见的列,除非通过列名显式引用不可见列。因此通过使用不可见列对表进行更改,不会影响应用程序。 在应用迁移过程中,使新列不可见意味着它们不会被现有应用程序看到,但仍然可以被新应用程序显式引用,从而使应用程序的在线迁移更加简单。

Package 包功能

Package 包功能是 IvorySQL 4.0 的重磅新特性。

通过包的形式将相关的功能模块化,使得数据库的过程、函数、变量和其他编程元素组织在一起形成自包含单元,便于管理和维护。由于实现细节隐藏在包体中,提高了代码的安全性和可维护性。包体中的代码在第一次调用时被加载到内存中,后续调用可以直接使用,减少了解析和加载时间。

此外,该版本也进行了一些功能增强,比如内置函数 pg_get_functiondef() 现在得到了增强,提供多个 oid 参数可以一次返回这些 oid 对应的函数定义,也可以导出函数名相同但参数不同的多个函数定义。

详细的变化请查看:

安装与升级

欢迎您安装试用 IvorySQL 4.0,如果您已经使用 IvorySQL 3.x 版本,可通过工具升级 IvorySQL 3.x 至最新的 IvorySQL 4.0 进行体验。

后续我们将会发布一篇详细的升级指南供大家参考,敬请期待!

问题反馈

社区欢迎大家试用 IvorySQL 4.0,如果在使用的过程中出现问题或发现 bug,欢迎您在 GitHub 提交 issue,链接:https://github.com/IvorySQL/IvorySQL/issues。

致谢

最后,致谢各位贡献者!感谢大家在产品发布的过程中作出贡献,为社区发展添砖加瓦。

以下是该版本的贡献者(排名不分先后):

  • Bei Fu
  • Cary Huang
  • Fawei Zhao
  • Grant Zhou
  • Hope Gao
  • Imran Zaheer
  • Jiajie Zhou
  • jerome-peng
  • Jiao Ren
  • Li Wang
  • Ruohang Feng
  • Shawn Yan
  • Shiji Niu
  • Shoubo Wang
  • Shuntian Jiao
  • Xiangyu Liang
  • Xinjie Lv
  • Yi Wen
  • Zhenwei Xu 本文由博客一文多发平台 OpenWrite 发布!
相关推荐
LUCIAZZZ3 小时前
简单的SQL语句的快速复习
java·数据库·sql
Elastic 中国社区官方博客5 小时前
使用真实 Elasticsearch 进行高级集成测试
大数据·数据库·elasticsearch·搜索引擎·全文检索·jenkins·集成测试
@_@哆啦A梦5 小时前
Redis 基础命令
java·数据库·redis
fajianchen5 小时前
MySQL 索引存储结构
数据库·mysql
想做富婆6 小时前
oracle: 多表查询之联合查询[交集intersect, 并集union,差集minus]
数据库·oracle·联合查询
xianwu5437 小时前
反向代理模块jmh
开发语言·网络·数据库·c++·mysql
Leven1995277 小时前
Flink (十三) :Table API 与 DataStream API 的转换 (一)
数据库·sql·flink
geovindu8 小时前
neo4j-community-5.26.0 create new database
数据库·mysql·neo4j
因特麦克斯9 小时前
索引的底层数据结构、B+树的结构、为什么InnoDB使用B+树而不是B树呢
数据库
java1234_小锋9 小时前
说说Redis的内存淘汰策略?
数据库·redis·缓存