ivorysql_ora

Oracle 兼容扩展

概览

扩展包名版本分类许可证语言
ivorysql1.0SIMApache-2.0C
ID扩展名BinLibLoadCreateTrustReloc模式
9140ivorysql_orasys
9150ora_btree_ginsys
9160ora_btree_gistsys
9170pg_get_functiondef-
9180plisqlpg_catalog
9190gb18030_2022pg_catalog
相关扩展
下游依赖ora_btree_gin ora_btree_gist

from contrib/ivorysql_ora/ivorysql_ora.control and package metadata

版本

类型仓库版本PG 大版本包名依赖
EXTPIGSTY1.01817161514ivorysql-
RPMPIGSTY5.11817161514ivorysql5-
DEBPIGSTY5.11817161514ivorysql-5-
OS / PGPG18PG17PG16PG15PG14
el8.x86_64PIGSTY MISSPIGSTY MISSPIGSTY MISSPIGSTY MISSPIGSTY MISS
el8.aarch64PIGSTY MISSPIGSTY MISSPIGSTY MISSPIGSTY MISSPIGSTY MISS
el9.x86_64PIGSTY MISSPIGSTY MISSPIGSTY MISSPIGSTY MISSPIGSTY MISS
el9.aarch64PIGSTY MISSPIGSTY MISSPIGSTY MISSPIGSTY MISSPIGSTY MISS
el10.x86_64PIGSTY MISSPIGSTY MISSPIGSTY MISSPIGSTY MISSPIGSTY MISS
el10.aarch64PIGSTY MISSPIGSTY MISSPIGSTY MISSPIGSTY MISSPIGSTY MISS
d12.x86_64PIGSTY MISSPIGSTY MISSPIGSTY MISSPIGSTY MISSPIGSTY MISS
d12.aarch64PIGSTY MISSPIGSTY MISSPIGSTY MISSPIGSTY MISSPIGSTY MISS
d13.x86_64PIGSTY MISSPIGSTY MISSPIGSTY MISSPIGSTY MISSPIGSTY MISS
d13.aarch64PIGSTY MISSPIGSTY MISSPIGSTY MISSPIGSTY MISSPIGSTY MISS
u22.x86_64PIGSTY MISSPIGSTY MISSPIGSTY MISSPIGSTY MISSPIGSTY MISS
u22.aarch64PIGSTY MISSPIGSTY MISSPIGSTY MISSPIGSTY MISSPIGSTY MISS
u24.x86_64PIGSTY MISSPIGSTY MISSPIGSTY MISSPIGSTY MISSPIGSTY MISS
u24.aarch64PIGSTY MISSPIGSTY MISSPIGSTY MISSPIGSTY MISSPIGSTY MISS

安装

您可以直接安装 ivorysql 扩展包的预置二进制包,首先确保 PGDGPIGSTY 仓库已经添加并启用:

pig repo add pgsql -u          # 添加仓库并更新缓存

使用 pig 或者是 apt/yum/dnf 安装扩展:

pig install ivorysql;          # 当前活跃 PG 版本安装
pig ext install -y ivorysql -v 18  # PG 18
dnf install -y ivorysql5       # PG 18
apt install -y ivorysql-5   # PG 18

创建扩展

CREATE EXTENSION ivorysql_ora;

用法

ivorysql_ora: PostgreSQL 数据库上的 Oracle 兼容扩展

ivorysql_ora 扩展作为 IvorySQL 项目的一部分,为 PostgreSQL 提供 Oracle 兼容特性。它添加了 Oracle 兼容的数据类型、函数和 PL/SQL 行为。

启用

CREATE EXTENSION ivorysql_ora;

Oracle 兼容数据类型

该扩展添加了 Oracle 风格的数据类型,包括:

  • NUMBER / NUMBER(p,s) - Oracle 兼容的数值类型
  • VARCHAR2(n) - Oracle 兼容的变长字符串
  • DATE - 带时间部分的 Oracle 风格 DATE
  • BINARY_FLOAT / BINARY_DOUBLE - IEEE 浮点类型

Oracle 兼容函数

提供 Oracle 风格的字符串操作、日期运算、数值操作和类型转换内置函数,行为与 Oracle 语义一致。

兼容模式

IvorySQL 支持 Oracle 兼容模式,可更改解析器行为:

SET compatible_mode TO oracle;  -- 启用 Oracle 兼容
SET compatible_mode TO pg;      -- 恢复为标准 PostgreSQL

在 Oracle 模式下,SQL 解析器接受 Oracle 风格语法,包括:

  • Oracle 风格外连接((+) 语法)
  • CONNECT BY 层次查询
  • Oracle 风格序列(sequence.NEXTVAL
  • 包风格对象引用

最后修改 2026-03-12: update extension pages (f579993)