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 发布!
相关推荐
Paraverse_徐志斌1 小时前
MySQL 线上大表 DDL 如何避免锁表(pt-online-schema-change)
数据库·mysql·ddl·mysql锁·锁表·pt-osc
哈哈幸运2 小时前
MySQL运维三部曲初级篇:从零开始打造稳定高效的数据库环境
linux·运维·数据库·mysql·性能优化
愚公搬代码2 小时前
【愚公系列】《Python网络爬虫从入门到精通》055-Scrapy_Redis分布式爬虫(安装Redis数据库)
数据库·爬虫·python
pwzs2 小时前
深入浅出 MVCC:MySQL 并发背后的多版本世界
数据库·后端·mysql
大熊猫今天吃什么2 小时前
【一天一坑】空数组,使用 allMatch 默认返回true
前端·数据库
双叶8363 小时前
(51单片机)LCD显示数据存储(DS1302时钟模块教学)(LCD1602教程)(独立按键教程)(延时函数教程)(I2C总线认识)(AT24C02认识)
c语言·数据库·单片机·嵌入式硬件·mongodb·51单片机·nosql
XY.散人3 小时前
初识Redis · C++客户端list和hash
数据库·redis·缓存
码上飞扬3 小时前
深入 MySQL 高级查询:JOIN、子查询与窗口函数的实用指南
数据库·mysql
海洋与大气科学4 小时前
【matlab】地图上的小图
开发语言·数据库·matlab
Geek__19924 小时前
Sqlite3交叉编译全过程
jvm·数据库·sqlite