关于作者:

严少安。数据库领域从业者。PostgreSQL ACE。公众号“少安事务所”。Certs:PGCM,HGCP,PMP 等。

近期,有小伙伴在技术群中咨询如何在 Debian 系操作系统上安装 IvorySQL 数据库,恰逢 IvorySQL 4.4 版本发布,这里做一个简单的交流分享。探讨 IvorySQL 4.4 的新变化,并详细讲解如何在 openKylin(基于 Debian)上安装 IvorySQL 数据库,为共享知识库添加一份新的素材。

关于 IvorySQL

在开始安装之前,让我们先了解一下 IvorySQL 的背景。对于初次接触 IvorySQL 的读者,这里简要介绍一下它的基本信息。

IvorySQL 是一款以 PostgreSQL 为基础进行开发,兼容 Oracle 的开源数据库。IvorySQL 社区始终承诺与 PostgreSQL 数据库保持 100% 兼容,并且可以直接替换最新版本的 PostgreSQL。

IvorySQL 的主要应用场景包括:

  • 企业数据库:作为核心业务系统的基础数据库。
  • Oracle 迁移场景:替代 Oracle 数据库的兼容性迁移方案。
  • 定制化需求场景:允许用户根据需求深度定制数据库功能。
  • 混合负载场景:同时支持 OLTP 和 OLAP 工作负载。
  • 替代传统商业数据库:提供开源且兼容性强的 PostgreSQL 衍生方案。

其核心优势在于,对原有的 PostgreSQL 改动最小的前提下,实现双端口、双解析器设计,新增 PL/iSQL 过程语言和 ivorysql_ora 插件实现 Oracle 兼容性。适用于需要同时兼容 PostgreSQL 和 Oracle 的混合数据库环境。

IvorySQL 4.4

2025年03月10日,IvorySQL 4.4 发布,该版本基于 PostgreSQL 17.4,并修复了多个问题。

除了包含 PostgreSQL 17.3 和 17.4 的增强和修复之外,IvorySQL 4.4 还更新了如下内容:

1. ARM64 架构全平台介质包

提供适用于 ARM 架构的全平台介质包,支持国内外主流操作系统,包括 Red Hat、Debian、Kylin、UOS、凝思等。

2. X86 架构全平台介质包

提供适用于 X86 架构的全平台介质包,支持国内外主流操作系统,包括 Red Hat、Debian、Kylin、UOS、凝思等。

3. 新增内核架构设计专栏

新增一系列内核架构设计文档,首个主题为 Oracle 兼容性,深入探讨每个模块的框架、设计和实现原理,旨在帮助用户深入理解 Oracle 兼容性框架。

目前已经发布两个模块的架构设计文档:

  • Oracle 兼容性框架中的双 parser 架构原理分析
  • Oracle 兼容性框架中的 initdb 架构原理分析

4. IvorySQL 官方网站新增聊天室功能

在官方网站上新增聊天室功能,支持与 IvorySQL 相关的智能互动和问答环节。

关于 IvorySQL 前几个版本的内容,欢迎参阅:

在 openKylin 上安装 IvorySQL

OpenAtom openKylin(简称“openKylin”) 是由开放原子开源基金会孵化及运营的开源项目,由基础软硬件企业、非营利性组织、社团组织、高等院校、科研机构和个人开发者共同创立,旨在以“为世界提供与人工智能技术深度融合的开源操作系统”为社区愿景,在开源、自愿、平等、协作的基础上,共同打造打造全球领先的智能桌面开源操作系统根社区,推动 Linux 开源技术及其软硬件生态繁荣发展。

2023 年 7 月 5 日,openKylin 1.0 版本正式发布!该版本搭载 6.1+5.15 双内核,适配支持 X86、ARM、RISC-V 三个架构的个人电脑、平板电脑及教育开发板,可以满足绝大多数个人用户及开发者的使用需求!作为社区首个共建共创版本,凝聚了社区 3867 名开发者的力量,也离不开社区 74 个 SIG 组和 271 家企业的积极贡献,各企业、高校和开发者贡献的特性也都合入到该版本中。

2024 年 8 月 8 日,openKylin 2.0 版本正式发布!该版本默认搭载 Linux 6.6 LTS 内核,完成 180+ 操作系统核心组件自主选型升级,深度融合 AI 技术,上线麒麟 AI 助手等实用功能。openKylin 2.0 汇聚了超过 6500+ 开发者的智慧与汗水,并得到了 110+ SIG 和 520+ 企业的鼎力支持。

准备好 openKylin 操作系统后,从官方资源库下载 IvorySQL 4.4 的 deb 安装包,并上传到服务器。

https://github.com/IvorySQL/IvorySQL/releases/tag/IvorySQL_4.4

使用 apt 命令进行安装。

shawnyan@ok2sp1:~$ sudo apt install /tmp/IvorySQL-4.4-a50789d-20250304.amd64.deb
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成
注意,选中 'ivorysql' 而非 '/tmp/IvorySQL-4.4-a50789d-20250304.amd64.deb'
下列软件包是自动安装的并且现在不需要了:
  archdetect-deb busybox-initramfs cifs-utils cryptsetup dmeventd exfat-utils fdisk finalrd libaio1t64 libdebian-installer4 libdevmapper-event1.02.1 libgraphicsmagick-q16-3 liblvm2cmd2.03 libproj15 libwmflite-0.2-7 localechooser-data
  lvm2 user-setup xinit xvfb
使用'sudo apt autoremove'来卸载它(它们)。
下列【新】软件包将被安装:
  ivorysql
升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
需要下载 0 B/98.8 MB 的归档。
解压缩后会消耗 312 MB 的额外空间。
获取:1 /tmp/IvorySQL-4.4-a50789d-20250304.amd64.deb ivorysql amd64 4.4-a50789d [98.8 MB]
正在选中未选择的软件包 ivorysql。
(正在读取数据库 ... 系统当前共安装有 184739 个文件和目录。)
准备解压 .../IvorySQL-4.4-a50789d-20250304.amd64.deb  ...
正在解压 ivorysql (4.4-a50789d) ...
正在设置 ivorysql (4.4-a50789d) ...

创建数据目录,以存储数据文件和日志文件。

shawnyan@ok2sp1:~$ mkdir data

编辑 bash 配置文件,加入环境变量,并使其生效。

shawnyan@ok2sp1:~$ vi .bashrc
shawnyan@ok2sp1:~$ tail -n 3 .bashrc
export PATH=/opt/IvorySQL-4.4/bin:$PATH
export LD_LIBRARY_PATH=/opt/IvorySQL-4.4/lib:$LD_LIBRARY_PATH
export PGDATA=/home/shawnyan/data
shawnyan@ok2sp1:~$ source .bashrc

初始化数据库,指定 Oracle 兼容模式,也可以使用 -m pg 参数,初始化为 PG 兼容模式。

initdb -m oracle

启动数据库。

shawnyan@ok2sp1:~$ pg_ctl -D /home/shawnyan/data -l logfile start
waiting for server to start.... done
server started

通过 1521 端口连接到 IvorySQL 数据库,查看版本、端口和兼容模式。

shawnyan@ok2sp1:~$ psql -p 1521 -d ivorysql
psql (17.4)
Type "help" for help.

ivorysql=# select version();
                                                        version
------------------------------------------------------------------------------------------------------------------------
 PostgreSQL 17.4 (IvorySQL 4.4) on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44), 64-bit
(1 row)

ivorysql=# show ivorysql.port;
 ivorysql.port
---------------
 1521
(1 row)

ivorysql=# show ivorysql.compatible_mode;
 ivorysql.compatible_mode
--------------------------
 oracle
(1 row)

IvorySQL 在线聊天室

为了更好地服务用户,IvorySQL 文档智能助手已在官网上线运行。IvorySQL 在线聊天室基于 Coze 平台和 DeepSeek R1 模型构建,导入了 IvorySQL 官网文档,包括发行说明、快速入门、安装指南、开发者指南、迁移指南、Oracle 兼容功能列表等内容。用户可以在聊天框输入问题,它就能快速生成答案,大幅缩减了翻阅文档的时间。

自建 IvorySQL 共享知识库

腾讯 IMA 已经接入 DeepSeek,支持上传本地文件,支持创建个人或共享知识库。我们可以通过 IMA 统一管理 IvorySQL 文档、教程、案例,借助 DeepSeek 的力量“开盒” IvorySQL 的技术内涵。

我创建了一个 IvorySQL 主题共享知识库(小程序搜 IvorySQL 知识库),可帮助开发者和管理员提升 IvorySQL 数据库的学习效率。

IvorySQL 社区也创建了 IMA 知识库(小程序搜 IvorySQL AI 知识库),也欢迎大家加入共创。

总结

本文探讨了如何在基于 Debian 的 openKylin 操作系统上安装 IvorySQL 4.4 数据库的全过程。对 IvorySQL 4.4 版本的更新亮点加以详细介绍、演示。此外,IvorySQL 在线聊天室的上线,为用户在使用过程中提供了便捷的技术支持和交流平台,进一步提升了用户体验和工作效率。

本文由博客一文多发平台 OpenWrite 发布!

IvorySQL
1 声望0 粉丝

IvorySQL 是瀚高公司主导研发的一款兼容 Oracle 的开源 PostgreSQL 数据库。