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

compatible with PostgreSQL 18.4

Version

TypeRepoVersionPG VerPackageDeps
EXTPIGSTY1.01817161514ivorysql-
RPMPIGSTY5.41817161514ivorysql-$v-
DEBPIGSTY5.41817161514ivorysql-$v-
OS / PGPG18PG17PG16PG15PG14
el8.x86_64N/AN/AN/AN/A
el8.aarch64N/AN/AN/AN/A
el9.x86_64N/AN/AN/AN/A
el9.aarch64N/AN/AN/AN/A
el10.x86_64N/AN/AN/AN/A
el10.aarch64N/AN/AN/AN/A
d12.x86_64N/AN/AN/AN/A
d12.aarch64N/AN/AN/AN/A
d13.x86_64N/AN/AN/AN/A
d13.aarch64N/AN/AN/AN/A
u22.x86_64N/AN/AN/AN/A
u22.aarch64N/AN/AN/AN/A
u24.x86_64N/AN/AN/AN/A
u24.aarch64N/AN/AN/AN/A
u26.x86_64N/AN/AN/AN/A
u26.aarch64N/AN/AN/AN/A

Build

You can build the RPM / DEB packages for ivorysql using pig build:

pig build pkg ivorysql         # build RPM / DEB packages

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 ivorysql-18       # PG 18
apt install -y ivorysql-18   # 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-07-23: update extension list to 555 (d81fc56)