ivorysql_ora

Oracle Compatible extension on Postgres Database

Overview

PackageVersionCategoryLicenseLanguage
ivorysql1.0SIMApache-2.0C
IDExtensionBinLibLoadCreateTrustRelocSchema
9140ivorysql_oraNoYesNoYesNoNosys
9150ora_btree_ginNoYesNoYesYesNosys
9160ora_btree_gistNoYesNoYesYesNosys
9170pg_get_functiondefNoYesNoYesYesNo-
9180plisqlNoYesNoYesYesNopg_catalog
9190gb18030_2022NoYesNoYesYesNopg_catalog
Related
Depended Byora_btree_gin ora_btree_gist

from contrib/ivorysql_ora/ivorysql_ora.control and package metadata

Version

TypeRepoVersionPG VerPackageDeps
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

Install

You can install ivorysql directly. First, make sure the PGDG and PIGSTY repositories are added and enabled:

pig repo add pgsql -u          # Add repo and update cache

Install the extension using pig or apt/yum/dnf:

pig install ivorysql;          # Install for current active PG version
pig ext install -y ivorysql -v 18  # PG 18
dnf install -y ivorysql5       # PG 18
apt install -y ivorysql-5   # PG 18

Create Extension:

CREATE EXTENSION ivorysql_ora;

Usage

ivorysql_ora: Oracle Compatible extension on Postgres Database

The ivorysql_ora extension provides Oracle compatibility features for PostgreSQL as part of the IvorySQL project. It adds Oracle-compatible data types, functions, and PL/SQL behavior.

Enabling

CREATE EXTENSION ivorysql_ora;

Oracle-Compatible Data Types

The extension adds Oracle-style data types including:

  • NUMBER / NUMBER(p,s) - Oracle-compatible numeric type
  • VARCHAR2(n) - Oracle-compatible variable-length string
  • DATE - Oracle-style DATE with time component
  • BINARY_FLOAT / BINARY_DOUBLE - IEEE floating point types

Oracle-Compatible Functions

Provides Oracle-style built-in functions for string manipulation, date arithmetic, numeric operations, and type conversion that behave consistently with Oracle semantics.

Compatibility Mode

IvorySQL supports an Oracle compatibility mode that changes parser behavior:

SET compatible_mode TO oracle;  -- enable Oracle compatibility
SET compatible_mode TO pg;      -- revert to standard PostgreSQL

In Oracle mode, the SQL parser accepts Oracle-style syntax including:

  • Oracle-style outer joins ((+) syntax)
  • CONNECT BY hierarchical queries
  • Oracle-style sequences (sequence.NEXTVAL)
  • Package-style object references

Last Modified 2026-03-12: add pg extension catalog (95749bf)