The compatibility layer.
PostgreSQL is a complete database but it is not Oracle. The compatibility layer closes the gap with battle-tested community extensions plus a small set of Trekport-authored packages for cases the community has not covered.
What ships
| Extension | Category | Source | What it covers |
|---|---|---|---|
orafce | Oracle dialect | Community | DECODE, NVL, NVL2, NULLIF, MONTHS_BETWEEN, ADD_MONTHS, INSTR, LENGTHB, TO_CHAR family, DBMS_OUTPUT, DBMS_RANDOM, DBMS_ASSERT, UTL_FILE, and Oracle-style date arithmetic. |
pg_cron | Scheduling | Community | Replaces DBMS_SCHEDULER and DBMS_JOB. Cron-style schedules that survive cluster restart. |
http | Networking | Community | Native PostgreSQL HTTP client. Replaces UTL_HTTP and UTL_URL. Supports headers, methods, and TLS configuration. |
pgcrypto | Crypto | Community | Cryptographic primitives. Maps DBMS_CRYPTO, OWA hash helpers, and password digest patterns to PostgreSQL equivalents. |
pg_trgm | Search | Community | Trigram-based fuzzy text search. Closes the gap for Oracle Text predicates used in fuzzy lookups and similarity ranking. |
btree_gist | Indexing | Community | GIST index support for B-tree-indexable types. Enables exclusion constraints used by Oracle range patterns. |
file_fdw | External data | Community | File-backed foreign data wrapper. Read-side alternative for Oracle external tables. |
trekport_compat | Engine-specific | Trekport | Trekport-authored shims for cases the community has not covered. Versioned, pgTAP-tested, shipped per release. |
How the deployer wires it
The compatibility layer is installed in phase 2 of the deployment, immediately after schemas and roles. Every downstream conversion can assume the extensions are present. The engine never emits an Oracle function call without the supporting extension being available. See deployment phases for the full sequence.
Install snippet (the deployer does this automatically)
CREATE EXTENSION IF NOT EXISTS orafce;
CREATE EXTENSION IF NOT EXISTS pgcrypto;
CREATE EXTENSION IF NOT EXISTS pg_trgm;
CREATE EXTENSION IF NOT EXISTS btree_gist;
CREATE EXTENSION IF NOT EXISTS pg_cron;
CREATE EXTENSION IF NOT EXISTS http;
CREATE EXTENSION IF NOT EXISTS file_fdw;
-- Engine-specific:
CREATE EXTENSION IF NOT EXISTS trekport_compat;Configuration
The set of installed extensions is configurable. Customers running on a managed PostgreSQL with a restricted extension allowlist can opt specific extensions out. The engine then routes the affected conversions through alternate paths or surfaces them as out-of-scope through the classifier.

