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 发布!
相关推荐
不爱学习的啊Biao12 分钟前
【13】MySQL如何选择合适的索引?
android·数据库·mysql
破 风22 分钟前
SpringBoot 集成 MongoDB
数据库·mongodb
Rverdoser30 分钟前
MySQL-MVCC(多版本并发控制)
数据库·mysql
m0_7482336437 分钟前
SQL数组常用函数记录(Map篇)
java·数据库·sql
dowhileprogramming42 分钟前
Python 中的迭代器
linux·数据库·python
0zxm2 小时前
08 Django - Django媒体文件&静态文件&文件上传
数据库·后端·python·django·sqlite
Minxinbb6 小时前
MySQL中Performance Schema库的详解(上)
数据库·mysql·dba
mmsx7 小时前
android sqlite 数据库简单封装示例(java)
android·java·数据库
zpjing~.~8 小时前
Mongo 分页判断是否有下一页
数据库
2401_857600958 小时前
技术与教育的融合:构建现代成绩管理系统
数据库·oracle