LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

IvorySQL:兼容Oracle的开源 PostgreSQL

admin
2025年4月22日 22:16 本文热度 67

今天在 PostgreSQL 技术峰会上有人问,什么数据库可以替代 Oracle ?当然有很多数据库都号称自己可以 “替代” Oracle,商业产品这里就不说了,但开源的目前我了解到的只有 IvorySQL。

IvorySQL 是一个开源的“Oracle兼容” PostgreSQL 内核,由瀚高出品,使用 Apache 2.0 许可证。目前 Pigsty 支持在自建本地 RDS 时使用 IvorySQL 内核替代原生的 PostgreSQL 内核,提供和原版一样的监控,备份,高可用,IaC 等能力,并运行 “Oracle 兼容模式

当然这里的 Oracle 兼容是 Pl/SQL,语法,内置函数、数据类型、系统视图、MERGE 以及 GUC参数层面上的兼容, 不是BabelfishopenHaloFerretDB 那种可以不改客户端驱动的缆协议兼容。

 

所以用户还是要使用 PostgreSQL 的客户端工具来访问 IvorySQL,但是可以使用 Oracle 兼容的语法。当然我也能理解这里的考虑,毕竟 Oracle 的法务可是业界知名,臭名昭著。要是搞了客户端协议兼容,估计要被搞了。目前据说只有达梦脑壳铁干了这个。

目前 IvorySQL 最新版本4.4与 PostgreSQL 最新小版本 17.4 保持兼容,并且提供了主流 Linux 上的二进制 RPM/DEB 包。 而 Pigsty 提供了在 PG RDS 中将原生 PostgreSQL 替换为 IvorySQL 内核的选项。


快速上手

使用标准流程安装Pigsty,并使用ivory配置模板:

curl -fsSL https://repo.pigsty.cc/get | bash; cd ~/pigsty ./bootstrap              # 安装 Pigsty 依赖 ./configure -c ivory     # 使用 IvorySQL 配置模板 ./install.yml            # 使用剧本执行部署  

啊是的,就是这么简单,只要使用 IvorySQL 配置模板替代默认的配置模板,你就可以拉起 “Oracle” 兼容的 PG RDS 了。

对于生产环境部署,您应当在执行./install.yml进行部署前,编辑自动生成的pigsty.yml配置文件,修改密码等参数。

当前最新的 IvorySQL 4.4 等效于 PostgreSQL 17,任何兼容 PostgreSQL 线缆协议的客户端工具都可以访问 IvorySQL 集群。

不过,默认情况下,你可以使用 PostgreSQL 客户端从另一个1521端口访问,这种情况下默认使用 Oracle 兼容模式。


配置说明

在 Pigsty 中要使用 IvorySQL 内核,需要修改以下四个配置参数:

  • pg_mode:使用ivory兼容模式
  • repo_extra_packages:下载ivroysql软件包
  • pg_packages: 安装ivorysql软件包
  • pg_libs:加载 Oracle 语法兼容扩展

是的就是这么简单,你只需要在配置文件的全局变量中加上这四行,Pigsty 就会使用 IvorySQL 替换原生的 PostgreSQL 内核了

pg_mode: ivory                           # IvorySQL 兼容模式,使用 IvorySQL 的二进制 pg_packages: [ ivorysql, pgsql-common ]  # 安装 ivorysql,替换 pgsql-main 主内核 pg_libs: 'liboracle_parser, pg_stat_statements, auto_explain'  # 加载 Oracle 兼容扩展 repo_extra_packages: [ ivorysql ]        # 下载 ivorysql 软件包 

IvorySQL 还提供了一系列新增 GUC 参数变量,可以在pg_parameters中指定。


扩展

绝大多数PGSQL模块的扩展插件(非纯 SQL 类)都无法直接在 IvorySQL 内核上使用,如果需要使用,需要针对新内核从源码重新编译安装。

备注说明

  • 目前 IvorySQL 的软件包位于pigsty-infra仓库,而非pigsty-pgsqlpigsty-ivory仓库。

  • IvorySQL 4.4 的默认 FHS 发生改变,请从老版本升级上来的用户留意。

  • IvorySQL 4.4 需要 gibc 版本 >= 2.17 即可,目前 Pigsty 支持的系统版本都满足这个条件

  • 最后一个支持 EL7 的 IvorySQL 版本为 3.3,对应 PostgreSQL 16.3,目前 IvorySQL 4.x 已经不再提供对 EL7 的支持了。

  • Pigsty 不对使用 IvorySQL 内核承担任何质保责任,使用此内核遇到的任何问题与需求请联系原厂解决。



当然,PostgreSQL 能 “兼容” 的可不仅仅是 Oracle 一个。实际上头部的数据库 PostgreSQL 已经兼容了个遍,而且除了 Oracle 之外都是不用改客户端的 “线缆协议” 级别兼容。


阅读原文:原文链接


该文章在 2025/4/23 10:55:44 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2025 ClickSun All Rights Reserved