Faucet v0.1.7 is now available. The headline feature: full Oracle Database support — from Oracle 12c all the way through Oracle AI Database 26ai, using a pure-Go driver with zero native dependencies. Download it now from GitHub Releases, Homebrew, or Docker Hub.
Why Oracle?
Oracle Database powers a massive share of enterprise workloads. Teams running Oracle alongside PostgreSQL or MySQL have had to maintain separate API layers or resort to hand-written middleware. With v0.1.7, Faucet connects to Oracle the same way it connects to everything else: point it at a DSN, get a REST API.
This brings Faucet to 7 supported database engines — PostgreSQL, MySQL, MariaDB, SQL Server, Oracle, SQLite, and Snowflake — all from a single binary.
What’s Included
Full CRUD + Filtering
Every feature that works with PostgreSQL or MySQL now works with Oracle:
- GET with filtering, sorting, pagination (
OFFSET/FETCH NEXT) - POST single and bulk insert (
INSERT ALL) - PUT/PATCH with conditional updates
- DELETE with filter predicates
- Stored procedures — call PL/SQL procedures via the REST API
Pure-Go Driver
Faucet uses go-ora, a pure-Go Oracle driver. This means:
- No Oracle Instant Client. No
LD_LIBRARY_PATH. No.sofiles. No CGO. - Cross-platform. The same Faucet binary runs on Linux (amd64/arm64), macOS (Intel/Apple Silicon), and Windows.
- Docker-friendly. No Oracle libraries to bundle into your container. The existing
faucetdb/faucetimage just works.
Schema Introspection
Faucet reads Oracle’s catalog views (ALL_TABLES, ALL_TAB_COLUMNS, ALL_CONSTRAINTS, ALL_CONS_COLUMNS) to discover your schema automatically. Primary keys, foreign keys, nullable columns, data types — all introspected and exposed in the OpenAPI spec.
Oracle-Native SQL
The query builder generates Oracle-idiomatic SQL:
- Bind parameters:
:1,:2,:3(not$1or?) - Pagination:
OFFSET n ROWS FETCH NEXT m ROWS ONLY(Oracle 12c+) - Bulk insert:
INSERT ALL INTO ... INTO ... SELECT 1 FROM DUAL - Stored procedures:
BEGIN schema.procedure(:1, :2); END;
Cloud Compatibility
Tested with:
- Oracle Cloud Infrastructure (OCI) — Autonomous Database, Base Database Service
- Amazon RDS for Oracle
- Azure Database — Oracle workloads on Azure VMs
Quick Start
# Install or upgrade
brew update && brew upgrade faucet
# Add an Oracle connection
faucet db add --name myoracle --driver oracle \
--dsn "oracle://user:pass@localhost:1521/XEPDB1"
# Start serving
faucet serve
Your Oracle tables are now available at http://localhost:8080/api/v1/myoracle/_table/.
Supported Versions
| Version | Status |
|---|---|
| Oracle 12c (12.1, 12.2) | Supported |
| Oracle 18c | Supported |
| Oracle 19c | Supported |
| Oracle 21c | Supported |
| Oracle 23ai | Supported |
| Oracle 26ai | Supported |
Oracle 26ai — Oracle’s latest AI-native database release from January 2026 — is fully supported. The go-ora driver is compatible with all Oracle Database versions from 12c onward.
Also in This Release
- SQLite version coverage updated through 3.52 (released March 1, 2026)
- Database count corrected to 7 across all documentation and marketing materials
Install or Upgrade
Homebrew:
brew update && brew upgrade faucet
Docker:
docker pull faucetdb/faucet:0.1.7
Go install:
go install github.com/faucetdb/[email protected]
Binary download:
Grab the binary for your platform from GitHub Releases. Available for Linux (amd64, arm64), macOS (Apple Silicon, Intel), and Windows.
What’s Next
With 7 database engines covered, the focus shifts to the features that make multi-database deployments production-ready:
- Cross-database joins — query across Oracle and PostgreSQL in a single request
- Oracle-specific MCP tools — AI agents that can introspect and query Oracle through the Model Context Protocol
- Advanced PL/SQL support — function return values,
OUTparameters, and cursor-based result sets
Star the project on GitHub to follow along, and open an issue if you run into anything.
FAQ
How do I upgrade from v0.1.6?
Run brew upgrade faucet or docker pull faucetdb/faucet:0.1.7. Binary users can download the new release from GitHub. No config migration needed — just add your Oracle connection.
Do I need Oracle Instant Client?
No. Faucet uses a pure-Go driver (go-ora) that speaks the Oracle Net Protocol directly. No native libraries, no CGO, no Instant Client.
Does Oracle support schema contract locking?
Yes. The schema locking feature introduced in v0.1.6 works with Oracle connections. Lock, diff, and promote Oracle schema contracts the same way you would with PostgreSQL or MySQL.
What Oracle authentication methods are supported?
Username/password via the Oracle DSN. Wallet-based authentication and Oracle Cloud IAM token auth are on the roadmap.
Can I connect to Oracle Autonomous Database on OCI?
Yes. Use the standard Oracle connection string with your wallet credentials. Faucet connects through the go-ora driver, which supports OCI connectivity.