
数据库关系型数据库【免费下载链接】IvorySQLOpen Source Oracle Compatible PostgreSQL.项目地址https://gitcode.com/IvorySQL/IvorySQL点击查看免费下载IvorySQL 是一款开源的 Oracle 兼容 PostgreSQL 数据库。本教程带你 10 分钟从零完成 IvorySQL 安装覆盖 Docker、Yum、RPM、源码编译 4 种方法并快速体验 Oracle 兼容模式小白也能一次成功。一、IvorySQL 是什么为什么值得上手IvorySQL 基于开源 PostgreSQL 内核是一款功能全面的开源 Oracle 兼容数据库采用 Apache 2.0 许可。它的核心亮点双兼容模式通过 GUC 参数ivorysql.compatible_mode在 Oracle 与 PostgreSQL 模式间自由切换实现详见 src/backend/utils/misc/ivy_guc.c⚙️Oracle 风格 PL/iSQL兼容 Oracle 的 PL/SQL 语法支持 Oracle 风格 Package扩展模块位于 contrib/ivorysql_ora/完全兼容 PostgreSQL可作为 PostgreSQL 的无缝替代方案生态工具psql、pg_dump 等开箱即用 一句话总结想要 Oracle 的语法体验 PostgreSQL 的开源生态IvorySQL 是目前的优质选择。二、4 种安装方式快速对比先对号入座再跳到对应章节 安装方式特点耗时适用人群 Docker一条命令环境最干净~2 分钟快速体验、开发测试 Yum官方源安装便于升级卸载~3 分钟CentOS / RHEL / openEuler 生产环境 RPM离线安装依赖手动补齐~3 分钟无外网的内网服务器 源码编译选项最灵活可自定义端口/路径~10 分钟内核开发、定制需求三、方法一Docker 快速安装最快体验适合只想快速跑起来看看效果的读者。步骤 1拉取并启动 IvorySQL 容器docker run -d --name ivorysql \ -p 5432:5432 -p 1521:1521 \ -e POSTGRES_PASSWORDyour_password \ ivorysql/ivorysql:latest步骤 2验证服务已启动docker ps | grep ivorysql步骤 3连接并检查版本docker exec -it ivorysql psql -U postgres -c SELECT version();看到包含 IvorySQL 的版本信息即安装成功 ⚠️ 小提示IvorySQL 的 Oracle 模式默认端口为1521对应--with-oraport编译选项默认值定义见 configure.acPG 模式默认端口为5432映射两个端口方便双模式体验。四、方法二Yum 源安装生产环境推荐适合CentOS 7、RHEL、openEuler、Kylin 等支持 yum/dnf 的系统。步骤 1添加 IvorySQL 官方 yum 源编辑仓库配置文件按官方文档提供的 repo 内容配置sudo vim /etc/yum.repos.d/ivorysql.repo步骤 2一键安装 IvorySQLsudo yum install -y ivorysql-server ivorysql步骤 3初始化并启动服务# 初始化数据目录Oracle 模式 sudo -u postgres /usr/pgsql/bin/initdb -D /var/lib/pgsql/data -m oracle # 启动服务 sudo systemctl start postgresql sudo systemctl enable postgresql步骤 4登录验证sudo -u postgres psql✅ yum 方式安装的最大好处后续sudo yum update ivorysql即可完成平滑升级。五、方法三RPM 离线安装无外网环境适合无法访问外网的生产服务器。步骤 1在有网机器下载 RPM 包从 IvorySQL 官方发布渠道获取对应系统的.rpm文件server、client 及依赖包。步骤 2拷贝到目标服务器并安装# 若依赖完整一条命令搞定 sudo rpm -ivh ivorysql-*.rpm # 若提示缺依赖加 --nodeps 先装主包再单独补依赖 sudo rpm -ivh --nodeps ivorysql-server-*.rpm步骤 3检查依赖是否齐全rpm -qR ivorysql-server | while read -r lib; do rpm -q -f $lib /dev/null 21 || echo 缺失: $lib; done步骤 4初始化并启动sudo -u postgres initdb -D /var/lib/pgsql/data -m oracle sudo systemctl start postgresql⚠️ 离线安装常见坑libicu、readline、zlib等系统库缺失会直接导致启动失败建议提前用rpm -qR核对依赖清单。六、方法四源码编译安装最灵活适合想体验最新代码、或需要自定义安装路径/端口的开发者。步骤 1安装编译依赖# CentOS / RHEL / openEuler sudo yum install -y gcc make readline-devel zlib-devel \ bison flex bzip2 tar perl openssl-devel # Debian / Ubuntu sudo apt-get install -y build-essential libreadline-dev \ zlib1g-dev bison flex bzip2 tar perl步骤 2获取源码git clone https://gitcode.com/IvorySQL/IvorySQL.git cd IvorySQL步骤 3配置编译选项# Oracle 模式默认端口 1521、PG 模式 5432默认值无需显式指定 ./configure --prefix/usr/local/pgsql --with-oraport1521 安装前缀默认为/usr/local/pgsql该默认值定义在 configure.ac 的AC_PREFIX_DEFAULT可选构建项也可查看 meson_options.txt。步骤 4编译并安装make -j$(nproc) sudo make install 源码安装的完整要求与平台说明可阅读仓库自带文档 doc/src/sgml/installation.sgml 与 doc/src/sgml/install-binaries.sgml。步骤 5初始化数据集群# Oracle 模式集群-m 可选值oracle / pg见 src/bin/initdb/initdb.c /usr/local/pgsql/bin/initdb -D /data/ivorysql_data -m oracle -U postgres # 标准 PostgreSQL 模式集群 /usr/local/pgsql/bin/initdb -D /data/ivorysql_data -m pg -U postgres步骤 6启动服务/usr/local/pgsql/bin/pg_ctl -D /data/ivorysql_data -l /data/ivorysql_data/logfile start步骤 7连接验证/usr/local/pgsql/bin/psql -h 127.0.0.1 -U postgres -c SELECT version();看到 IvorySQL 版本输出恭喜四种方式任选一种你已经拥有了自己的 Oracle 兼容数据库 七、安装后 5 分钟体验 Oracle 兼容功能1️⃣ 查看兼容模式相关参数SHOW ivorysql.compatible_mode; SHOW ivorysql.database_mode;2️⃣ 切换 Oracle 兼容模式-- 会话级切换到 Oracle 解析器模式 SET ivorysql.compatible_mode ora; 注意数据库级模式由initdb -m决定会话级参数只能在 Oracle 模式集群中启用 Oracle 解析器且需加载liboracle_parser详细校验逻辑见 src/backend/utils/misc/ivy_guc.c。3️⃣ 试试这些 Oracle 风格写法-- 字符串拼接用 || SELECT Ivory || SQL; -- NULL 值处理 SELECT NVL(NULL, 默认值); -- 双引号精确大小写标识符 CREATE TABLE MyTest(id INT);4️⃣ 体验 PL/iSQLOracle 风格 PackageOracle 兼容扩展模块安装在 contrib/ivorysql_ora/支持 Oracle 风格的存储过程与 Package 写法。八、常见问题速查表问题原因解决方法port is already in use5432/1521 端口被占用换端口启动或--with-oraport重新指定找不到psql/initdb安装路径未加入 PATH使用绝对路径或export PATH$PATH:/usr/local/pgsql/bin源码编译报 bison/flex 缺失依赖未装全回到方法四 步骤 1补齐依赖设置 Oracle 模式报liboracle_parser not found未加载 Oracle 解析库按报错提示加载liboracle_parser校验逻辑见 src/backend/utils/misc/ivy_guc.crpm安装报依赖缺失离线环境系统库不全用rpm -qR核对后补装缺失库容器连不上端口未映射或密码未设置检查-p映射与POSTGRES_PASSWORD环境变量九、关键文件导航文件作用configure.ac版本定义与编译选项含--with-oraport默认 1521meson_options.txt可选构建参数块大小、段大小、端口等contrib/ivorysql_ora/Oracle 兼容扩展模块PL/iSQL、内置函数contrib/ivorysql_ora/ivorysql_ora.control扩展元信息Oracle Compatible extensionsrc/backend/utils/misc/ivy_guc.civorysql.compatible_mode参数校验与切换实现src/bin/initdb/initdb.cinitdb -m oracle/pg双模式初始化实现doc/src/sgml/installation.sgml官方源码安装要求文档README_CN.md项目中文说明与安装方式总览十、总结 想最快体验→ Docker生产环境→ Yum离线内网→ RPM定制/开发→ 源码编译10 分钟你就能拥有一套既说Oracle 话、又跑在 PostgreSQL 生态上的开源数据库。接下来不妨试试用 IvorySQL 迁移一段你的 Oracle 存储过程感受 PL/iSQL 的兼容能力吧赞分享数据库关系型数据库【免费下载链接】IvorySQLOpen Source Oracle Compatible PostgreSQL.项目地址https://gitcode.com/IvorySQL/IvorySQL点击查看免费下载相关推荐如何快速安装xurlHomebrew、npm、curl等4种方式全对比新手零门槛起步如何快速安装xurlHomebrew、npm、curl等4种方式全对比新手零门槛起步 xurl 是 X原 Twitter官方 API 的命令行工具CL如何快速安装和配置Tesseract OCR10分钟入门教程如何快速安装和配置Tesseract OCR10分钟入门教程 Tesseract OCR是一个强大的开源光学字符识别引擎能够从图像中准确提取和识别文本内容。OCR计算机视觉10分钟搞定WSL安装awesome-wsl终极快速入门教程10分钟搞定WSL安装awesome wsl终极快速入门教程 还在为Windows和Linux之间的切换烦恼吗 WSLWindows Subsyste教程创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考