Skip to content

IvorySQL

Use HighGo’s open-source IvorySQL kernel to achieve Oracle syntax/PLSQL compatibility based on PostgreSQL clusters.

IvorySQL is an open-source PostgreSQL kernel fork that aims to provide Oracle compatibility.


Overview

The Pigsty PGSQL repository provides IvorySQL 5.4 packages compatible with PostgreSQL 18.4. Packages cover the currently supported EL, Debian, and Ubuntu platforms on both architectures. Online installation uses Pigsty’s pgsql repository. The Professional Edition also provides offline delivery for these platforms.

IvorySQL

Pigsty’s ivorysql package alias points to IvorySQL 5, which is compatible with PostgreSQL 18. Platform variables under roles/node_id/vars/ map the alias to package names. For example, EL uses ivorysql5, and Debian/Ubuntu uses ivorysql-5.

IvorySQL 3.3 was the last version to support EL7. It corresponds to PostgreSQL 16.3. IvorySQL 4.4 is the last version based on PostgreSQL 17.


Installation

Install with Pigsty’s built-in ivory configuration template:

./configure -c ivory
./deploy.yml

Configuration

Set these parameters for an IvorySQL database cluster:

#----------------------------------#
# Ivory SQL Configuration
#----------------------------------#
node_repo_modules: node,infra,pgsql       # use Pigsty node/infra/pgsql repos
pg_mode: ivory                    # IvorySQL Oracle Compatible Mode
pg_packages: [ ivorysql, pgsql-common ]
pg_libs: 'liboracle_parser, pg_stat_statements, auto_explain'
pg_extensions: [ ]                # do not install any vanilla postgresql extensions

For Oracle compatibility mode, dynamically load the liboracle_parser extension plugin.


Client Access

IvorySQL 5 is equivalent to PostgreSQL 18. Any client tool that supports the PostgreSQL wire protocol can connect to IvorySQL clusters.


Available Extensions

The IvorySQL kernel has 95 available extensions. The following table lists the extra extensions, excluding bundled PG Contrib extensions:

ExtensionVersionDescription
address_standardizer3.5.4Parses an address into its elements. Usually supports address normalization for geocoding.
address_standardizer_data_us3.5.4Address Standardizer US dataset example
age1.7.0AGE database extension
ddlx0.31DDL eXtractor functions
gb18030_20221.0support gb18030 2022 with extension
http1.7HTTP client for PostgreSQL, allows web page retrieval inside the database.
ivorysql_ora1.0Oracle Compatible extenison on Postgres Database
ora_btree_gin1.0support for indexing oracle datatypes in GIN
ora_btree_gist1.0support for oracle indexing common datatypes in GiST
pg_bigm1.2text similarity measurement and index searching based on bigrams
pg_cron1.6Job scheduler for PostgreSQL
pg_curl2.4PostgreSQL cURL allows most curl actions, including data transfer with URL syntax via HTTP, HTTPS, FTP, FTPS, GOPHER, TFTP, SCP, SFTP, SMB, TELNET, DICT, LDAP, LDAPS, FILE, IMAP, SMTP, POP3, RTSP and RTMP
pg_get_functiondef1.0Get function’s definition
pg_hint_plan1.8.0optimizer hints for PostgreSQL
pg_jieba1.1.1a parser for full-text search of Chinese
pg_partman5.3.1Extension to manage partitioned tables by time or ID
pg_show_plans2.1show query plans of all currently running SQL statements
pg_stat_monitor2.3Monitors PostgreSQL query performance. Based on the PostgreSQL contrib module pg_stat_statements. Provides aggregated statistics, client information, execution plans and plan details, and histogram information.
pg_textsearch0.1.0Full-text search with BM25 ranking
pgagent4.2A PostgreSQL job scheduler
pgaudit18.0provides auditing functionality
pgroonga4.0.4Super fast and all languages supported full text search index based on Groonga
pgroonga_database4.0.4PGroonga database management module
pgrouting3.8.0pgRouting Extension
plisql1.0PL/iSQL procedural language
plpgsql_check2.8extended check for plpgsql functions
postgis3.5.4PostGIS geometry and geography spatial types and functions
postgis_raster3.5.4PostGIS raster types and functions
postgis_sfcgal3.5.4PostGIS SFCGAL functions
postgis_tiger_geocoder3.5.4PostGIS tiger geocoder and reverse geocoder
postgis_topology3.5.4PostGIS topology spatial types and functions
redis_fdw1.0Foreign data wrapper for querying a Redis server
system_stats3.0EnterpriseDB system statistics for PostgreSQL
vector0.8.1vector data type and ivfflat and hnsw access methods
zhparser2.3a parser for full-text search of Chinese

Pigsty does not assume any warranty responsibility for use of the IvorySQL kernel. Contact the original vendor about issues or requirements for this kernel.

Was this page helpful?

Image