Releases: krokozyab/postgres-oracle-tns-proxy
Release list
orapglink v0.1.0-preview.2
orapglink v0.1.0-preview.2
This preview refreshes the public compatibility reporting while preserving the
same tested Oracle-client and PostgreSQL behavior as preview.1.
Public compatibility summary
orapglink --profiles now reports only information useful to operators:
- supported client families and dialects;
- protocol-version ranges;
- support grades and available feature groups.
Implementation-specific verification details are no longer included in the
binary output or the packaged documentation. Test scale remains public and
auditable through the release verification matrix below.
What this release supports
- Oracle clients connect to a TNS listener and run read-only
SELECTqueries
against PostgreSQL 16. - Tested clients include python-oracledb, go-ora, SQL*Plus, ojdbc/SQL
Developer/DBeaver, ODP.NET managed, and Oracle 19c/26aiDATABASE LINK. - The documented Oracle SQL subset is translated to PostgreSQL, including
DUAL,ROWNUM,NVL/NVL2,DECODE,BITAND,SYSDATE,
SYS_CONTEXT, legacy outer join(+),MINUS,LISTAGG, selected
CONNECT BYforms, and other constructs. ALL_*,USER_*, andDBA_*dictionary views are derived from
pg_catalog; no separate metadata database is required.- Writes are blocked by read-only PostgreSQL transactions and a dedicated
PostgreSQL role without write privileges. - Limits cover connections, cursors, rows, response size, cell size, and query
duration.
Unsupported or ambiguous SQL is rejected with an ORA- error instead of being
executed approximately. See KNOWN_LIMITATIONS.md inside each archive.
Release verification
The validated client matrix contains 722 passing cases out of 722:
| Client | Result |
|---|---|
| python-oracledb thin | 125 / 125 |
| go-ora | 123 / 123 |
| SQL*Plus | 97 / 97 |
| ojdbc | 123 / 123 |
| ODP.NET managed | 123 / 123 |
| Oracle 26ai DATABASE LINK | 129 / 129 |
| Oracle 19c DATABASE LINK | 2 / 2 |
All seven client flows reported connect=OK, with no warnings. The release
also passes the complete Go test suite, static analysis, race checks for the
wire package, translator coverage gates, PostgreSQL differential checks, and a
packaged-binary smoke test against PostgreSQL 16.
The Oracle wire behavior is unchanged from the validated preview.1 code path;
this release changes public reporting, packaged documentation, and release
automation only.
Artifacts
orapglink_0.1.0-preview.2_linux_amd64.tar.gzorapglink_0.1.0-preview.2_linux_arm64.tar.gzorapglink_0.1.0-preview.2_darwin_arm64.tar.gzorapglink_0.1.0-preview.2_windows_amd64.tar.gzSHA256SUMS
Each archive contains an obfuscated binary, ready-to-use configuration,
English and Russian Quick Starts, PostgreSQL setup scripts, the support matrix,
known limitations, and license texts. Source code and PostgreSQL data files are
not included.
The binaries are obfuscated, not encrypted. Builds use garble
-tiny -literals and Go linker flags -s -w.
Important limitations
- Oracle Net encryption and TCPS are not implemented. Use loopback, a trusted
network, VPN, or TLS tunnel; never expose the listener directly to the
Internet. - The server uses one logical schema and one shared password; the supplied
username is not validated as a PostgreSQL identity. - PostgreSQL 16 with the
orafceextension is required. ROWIDis approximated using PostgreSQLctid.- Operation is read-only; DDL and DML are rejected.
- DBeaver is the recommended GUI. SQL Developer worksheets work, but its
internal object browser is not fully supported.
Quick start
The ready-to-run PostgreSQL demo and Docker Compose setup are in
krokozyab/postgres-oracle-tns-proxy.
Report issues at https://github.com/krokozyab/postgres-oracle-tns-proxy/issues.