暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

PostgreSQL数据库技术峰会北京站活动回顾|IvorySQL 双解析器架构下的兼容性创新实践

2025 年 4 月 22 日,由中国开源软件推进联盟 PG 分会主办,PostgreSQL ACE/PG 分会北京&天津用户组负责人刘华阳联合发起的“PostgreSQL 数据库技术峰会北京站”落幕。


本次活动以“PG 与 AI 融合”为主题,结合当下 AI 大模型应用、国产化趋势,邀请社群技术专家围绕产品特性、应用案例、运维经验、技术演进、行业方向等进行分享,推动 PostgreSQL 在中国的发展。

IvorySQL 受邀参与了本次活动:IvorySQL 研发工程师矫顺田为大家带来了主题分享——《IvorySQL V4:双解析器架构下的兼容性创新实践》。

分享内容回顾

在本次分享中,主要分享了以下内容:

IvorySQL 通过双解析器架构(PG/Oracle 解析器)实现 Oracle 语法兼容,支持 1521 端口默认 Oracle 模式与 5432 端口 PG 模式自由切换;新增 Package 包管理、不可见列、XML 函数等 Oracle 兼容功能,提升 PL/SQL 迁移效率;结合 Stackgres 和 Data Bene 合作推动全球化社区生态,强化金融场景核心系统替换能力。

以下是具体内容:

一、兼容性全景

核心兼容特性

  • Oracle 兼容框架:
    • 支持 PL/iSQL、Oracle Package(包管理)、不可见列(显式引用访问)、XML 函数(新增 11 个函数)、序列(CACHE/SCALE/SESSION 等选项)等。
  • 关键创新:
    • 不可见列:通过 ALTER TABLE
       控制列的可见性,支持应用无缝升级。
    • Oracle Package:支持包级别权限控制、缓存机制,提升模块化开发效率。

实际项目案例(国内某金融系统)

  • 目标:替换 Oracle 存储过程,解决总账等核心系统需求。
  • 成果:
    • 兼容 Oracle 分区索引、集合数据类型、系统视图等,性能与稳定性达标。
    • 攻克海量数据读取内存溢出问题,深度支持 Oracle Package 功能。

二、双解析器架构设计

架构概览

  • 基于 PostgreSQL 17:扩展双解析器(PG SQL 解析器 + Oracle SQL 解析器)、双端口(5432 默认 PG 模式,1521 默认 Oracle 模式)。
  • 动态切换兼容模式:通过 compatible_mode
     参数或端口选择解析器,降低语法干扰。

关键技术实现

  • 解析器钩子机制:通过 sql_raw_parser
     动态绑定 ora_raw_parser
     或 standard_raw_parser
  • 插件化设计:内置 IvorySQL_ORA
     插件,实现 Oracle 数据类型、系统视图、MERGE 命令等兼容功能。

三、社区发展与未来展望

未来技术方向

  • 增强 NLS 参数、PL/iSQL、Force View 等功能兼容性。
  • 基于 PostgreSQL 18 开发 IvorySQL V5,优化云原生支持。

全球化合作

  • OnGres(西班牙):将 IvorySQL 集成至云原生产品 StackGres,简化部署流程。
  • Data Bene(法国):推动 Oracle 迁移项目与社区共建。

社区参与激励

  • 贡献方式:源码提交、文档维护、BUG 修复、技术日志撰写等。
  • 奖励机制:荣誉证书、限量周边(卫衣、背包、马克杯等)。

PPT 下载

关注公众号回顾关键词“20250419”获取 PPT 下载链接。

作为一款基于 PostgreSQL 并深度兼容 Oracle 的开源数据库系统,IvorySQL 始终怀抱开源热情,致力于开源社区建设。未来,期待更多技术爱好者加入进来,为 IvorySQL 社区发展壮大提供源源不断的动力!

本周四晚七点半,IvorySQL 社区将在线直播分享主题——从 Oracle 到 PostgreSQL :IvorySQL v4 如何让数据库迁移更丝滑。

欢迎预约!


关注公众号,了解更多社区动态

推荐阅读 -

深入 PostgreSQL 内部:5 个关键阶段拆解查询处理全流程

突破关系型边界:PostgreSQL 的 JSON 如何重新定义数据敏捷性

手把手教你在 openKylin 上部署 IvorySQL 4.4

在 PostgreSQL 中设置调试环境以更好地理解 OpenSSL API

深入理解 PostgreSQL Planner:简化扫描路径与查询计划

IvorySQL 增量备份与合并增量备份功能解析

DeepSeek 加持!IvorySQL 文档智能助手正式上线!

如何在 PostgreSQL 中运行 TLS 回归测试

版本发布| IvorySQL 4.4 发布

如何利用 PostgreSQL 的 JSONB API 作为扩展的轻量级 JSON 解析器

IvorySQL v4 逻辑复制槽同步功能解析:高可用场景下的数据连续性保障

表访问方法:PostgreSQL 中数据更新的处理方式

「2024 年度技术精华盘点」IvorySQL & PostgreSQL 技术干货全解析!

版本发布 | IvorySQL 4.2 发布

IvorySQL 4.0 之 Invisible Column 功能解析

从 PostgreSQL 升级至 IvorySQL 4.0

IvorySQL 4.0 之兼容 Oracle 包功能设计思路解读

IvorySQL 升级指南:从 3.x 到 4.0 的平滑过渡

IvorySQL 4.0 发布:全面支持 PostgreSQL 17

- 关于 IvorySQL -
IvorySQL 是由瀚高股份主导研发的一款开源的兼容 Oracle 的 PostgreSQL。IvorySQL 与 PostgreSQL 国际社区紧密合作,保持与最新 PG 版本内核同步,为用户提供便捷的升级体验。基于双 Parser 架构设计,100% 与原生 PostgreSQL 兼容,支持丰富的 PostgreSQL 周边工具和扩展,并根据用户需求提供定制化工具。同时,IvorySQL 提供更全面灵活的 Oracle 兼容功能,具备高度的 SQL 和 PL/SQL 兼容性能够为企业构建更加高效、稳定和灵活的数据库解决方案。
官网:https://www.ivorysql.org
GitHub(欢迎点击 star 收藏哦):https://github.com/IvorySQL/IvorySQL
社群:微信搜索“ivorysql_official” 添加小助理进群


文章转载自IvorySQL开源数据库社区,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论