Sayonora

Sayonora

Database infrastructure for the agentic era.

01 ghcr.io/polygres26/warp

Warp

The Intelligent Database Gateway.

Accelerate, scale, secure, and observe Postgres, Oracle, MySQL, and SQL Server — in any cloud or on-prem.

Connect · Protect · Control · Accelerate · Observe

Oracle · MySQL · SQL Server · MongoDB · OpenSearch · DynamoDB · SQS · InfluxDB · GraphDB · PostgreSQL · gRPC · MCP

12 protocols. One execution pipeline.

One intelligent infrastructure layer for the database you already run.

Postgres, Oracle, MySQL, or SQL Server — same control point.

Why Warp?

⚡ Go faster

Distributed caching and automatic rollups cut repeated database work and query latency, shared across every protocol that hits Warp.

↗ Scale further

Shard and intelligently route workloads without embedding database topology into applications.

◉ See every query

Monitor SQL, latency, errors, workload behavior, and resource consumption from one control point instead of each database's own tooling.

🛡 Protect the database

SQL firewall, QoS, admission control, and workload isolation before traffic ever reaches the database.

⇄ Connect anything

Twelve client protocols and application interfaces through one gateway — Postgres, Oracle, MySQL, SQL Server, MongoDB, and more.

🌐 Run anywhere

AWS, Azure, GCP, OCI, Kubernetes, or on-prem. Keep the database and infrastructure you already have.

Put an intelligent control point in front of your database.

Connect, protect, control, accelerate, observe — the same five things, applied identically no matter which protocol the caller speaks or which database sits behind Warp. Different protocols. Same policies. See each one broken out in detail →

What is Warp?

Applications & AI agents Oracle · MySQL · SQL Server · MongoDB · OpenSearch · InfluxDB · GraphDB · AWS APIs · MCP
WARP Connect · Protect · Control · Accelerate · Observe
Your database, anywhere Postgres · Oracle · MySQL · SQL Server — RDS · Aurora · Cloud SQL · Azure · OCI · On-prem

See how Warp works, stage by stage → — the detailed eight-stage pipeline behind this diagram.

Two ways to use Warp

Keep the database you have

Oracle app → Warp → Oracle. MySQL app → Warp → MySQL. SQL Server app → Warp → SQL Server. Postgres app → Warp → Postgres. Add caching, sharding, monitoring, rollups, QoS, and a SQL firewall in front of the database you already run — no migration required.

Or modernize onto Postgres

Oracle, MySQL, or SQL Server app → Warp → Postgres. Protocol and dialect translation keep the application's existing client working unmodified while the backend becomes Postgres — pair with Ferry and Shim for a gradual, no-big-bang migration.

See each outcome broken out in detail →

Four ways teams put Warp to work

Accelerate & scale in place

Distributed caching, automatic rollups, and shard routing in front of Postgres, Oracle, MySQL, or SQL Server — without embedding database topology into applications.

Build a database control point

Firewall, QoS, routing, pooling, and failover in one admin surface — instead of each database's own tooling, run indefinitely, not just during a migration.

Modernize onto Postgres

Move Oracle, MySQL, SQL Server, or MongoDB applications onto Postgres without an immediate client rewrite — every protocol keeps working exactly as it always has.

Govern AI access

MCP and AI agents enter through the exact same firewall, QoS, and audit path as every other client — not a separate, unguarded route to your data.

Explore all Warp capabilities →

Three products, two ways to use them

Use Warp on its own to run the database you already have better, or bring in Ferry and Shim alongside it when you're ready to modernize onto Postgres.

Warp — run better

Your universal database infrastructure layer: cache, scale, monitor, secure, route, and roll up. Works with Postgres, Oracle, MySQL, and SQL Server. See Warp →

Ferry — move better

Assess → Size → Migrate → Validate → Cut over. Scores how hard your Oracle, MySQL, or SQL Server migration to Postgres will really be, before you commit to it. See Ferry →

Shim — change less

Brings familiar Oracle, SQL Server, and MySQL catalogs, functions, and behaviors into Postgres, reducing the application changes a migration otherwise requires. See Shim →

Together: Ferry moves the data, Shim reduces the SQL and application changes, and Warp keeps existing clients and protocols working — all landing on the same Postgres.

Deploy anywhere

Docker · Kubernetes · AWS · Azure · GCP · OCI · On-prem

Run Warp next to the applications and databases you already operate — no managed control plane required.

See it happen

Pick a protocol — same demo, different client, same PostgreSQL on the other end.

$ sql app/password@//localhost:11521/postgres

SQLcl: Release 23.4 Production

SQL> SELECT * FROM orders;

ORDER_ID  CUSTOMER_ID  AMOUNT
--------  -----------  -------
    1001           42   129.99
    1002           57    89.50

2 rows selected.

SQL>
SQLcl (Oracle client)OraWireWarpPostgreSQL

Full Oracle → Postgres guide →

$ mysql -h 127.0.0.1 -P 13306 -u root -p

mysql> SELECT * FROM orders;

+----------+-------------+--------+
| order_id | customer_id | amount |
+----------+-------------+--------+
|     1001 |          42 | 129.99 |
|     1002 |          57 |  89.50 |
+----------+-------------+--------+
2 rows in set

mysql>
mysql CLIMyWireWarpPostgreSQL

Full MySQL → Postgres guide →

$ mongosh mongodb://localhost:27017

test> db.orders.find()

[
  { _id: 1001, customer_id: 42, amount: 129.99 },
  { _id: 1002, customer_id: 57, amount: 89.50 }
]

test>
mongoshMongoWireWarpPostgreSQL

Full MongoDB → Postgres guide →

$ curl -s localhost:9200/orders/_search

{
  "hits": {
    "total": { "value": 2 },
    "hits": [
      { "_source": { "order_id": 1001, "amount": 129.99 } },
      { "_source": { "order_id": 1002, "amount": 89.50 } }
    ]
  }
}
REST clientOSWireWarpPostgreSQL

Full OpenSearch → Postgres guide →

Real client. Real wire protocol. PostgreSQL database. No client rewrite. Table/document contents above are illustrative — the protocol and path are exactly real. (SQLcl, JDBC, and psql are what's most thoroughly verified today; see Warp capabilities for exact client-by-client coverage.)

Try Warp in 60 seconds

What do you use? Point it at a Postgres you already have:

1. Start Warp

docker run -p 15432:15432 \ -e WARP_HOST=<host> -e WARP_PASSWORD=<password> \ ghcr.io/polygres26/warp:latest

2. Connect

psql -h localhost -p 15432 -U postgres

3. Done — your client → Warp → PostgreSQL. No rewrite.

1. Start Warp

docker run -p 11521:11521 \ -e WARP_HOST=<host> -e WARP_PASSWORD=<password> \ ghcr.io/polygres26/warp:latest

2. Connect

sql app/password@//localhost:11521/postgres

3. Done — Oracle client → OraWire → Warp → PostgreSQL. No driver change.

1. Start Warp

docker run -p 13306:13306 \ -e WARP_HOST=<host> -e WARP_PASSWORD=<password> \ ghcr.io/polygres26/warp:latest

2. Connect

mysql -h 127.0.0.1 -P 13306 -u root -p

3. Done — mysql CLI → MyWire → Warp → PostgreSQL. No driver change.

1. Start Warp

docker run -p 27017:27017 \ -e WARP_HOST=<host> -e WARP_PASSWORD=<password> \ ghcr.io/polygres26/warp:latest

2. Connect

mongosh mongodb://localhost:27017

3. Done — mongosh → MongoWire → Warp → PostgreSQL. No driver change.

1. Start Warp

docker run -p 9200:9200 \ -e WARP_HOST=<host> -e WARP_PASSWORD=<password> \ ghcr.io/polygres26/warp:latest

2. Connect

curl -s localhost:9200/_search

3. Done — REST client → OSWire → Warp → PostgreSQL. No driver change.

See every protocol at once (SQL Server, DynamoDB, SQS included) →
docker run \ -p 19090:19090 -p 15432:15432 -p 13306:13306 -p 11521:11521 \ -p 14333:14333 -p 27017:27017 -p 18000:18000 -p 9324:9324 \ -e WARP_HOST=<host> \ -e WARP_PASSWORD=<password> \ ghcr.io/polygres26/warp:latest
psql -h localhost -p 15432 -U postgres # Postgres wire mysql -h 127.0.0.1 -P 13306 -u root -p # MySQL wire sqlcmd -S localhost,14333 -U sa -P '<password>' # SQL Server wire sql app/password@//localhost:11521/postgres # Oracle wire (SQLcl) mongosh mongodb://localhost:27017 # MongoDB wire curl -s localhost:9200/_search # OpenSearch wire aws dynamodb scan --table-name orders \ # DynamoDB wire --endpoint-url http://localhost:18000 aws sqs receive-message \ # SQS wire --queue-url http://localhost:9324/queue/orders \ --endpoint-url http://localhost:9324

That works as-is against an existing on-prem Postgres. For a specific managed provider instead — Supabase, Amazon RDS, Google Cloud SQL, Azure Database for PostgreSQL, or Oracle Cloud Infrastructure's Database with PostgreSQL — see CONNECTING.md.

Different protocols. Same security policy.

Oracle application? Same policy. MySQL application? Same policy. MCP agent? Same policy. Security follows the request, not the protocol.

SQL Firewall · ACL · Authentication · RLS · TLS · Secrets · Audit

Full, honestly-scoped security detail →

Stop one workload from taking down Postgres.

QoS for Postgres, at the gateway. Prioritize, throttle, bound concurrency, and shed load — before Postgres saturates, not after it falls over. A real token-bucket admission controller, per workload class (query/write/ddl/txn). See Security for the full scope.

Cache once. Access across protocols.

A result cached through one Warp protocol can be served through another — across Warp instances — without another Postgres round trip. One distributed cache, not a per-protocol silo. Confirmed live: a row read via a Postgres client, then asked for again through a MySQL client, comes back as a cache hit — zero Postgres round trips on the second read.

MySQL client Mach Oracle client
↓ same cached result PostgreSQL — system of record

Cross-Protocol · Distributed · Automatically Invalidated · No Application Cache Code

Explore Mach — live terminal walkthroughs, DynamoDB/MongoDB point-lookup sharing, JOINs across wire protocols →

Explore Warp in depth — detailed architecture, comparison →

Built for enterprise Postgres

Warp architecture: twelve client protocols — OraWire, MySQL, SQL Server, Postgres wire, MongoDB, DynamoDB, Amazon SQS, gRPC, MCP, OpenSearch, InfluxDB, and GraphDB (Neo4j Bolt+Cypher) — feed one shared eight-stage pipeline: Frontends, FirewallStage (ACL/IP allow-deny, PROXY protocol v2/XFF — security first, policy-driven access control), RouterStage (shard/backend selection — shard scatter-gather, HA failover to standby), QosControlStage (concurrency control, throttling, priority queues), DialectTranslationStage, RollupStage, CacheStage (Mach — distributed, cross-protocol, shared by six of the twelve protocols), and StatsCollectorStage, each stage paired with the customer outcome it drives (multi-protocol single entry point, security-first access control, shard-aware smart routing, protected resources/SLAs, protocol-agnostic consistency, reduced load via pre-aggregation, lower latency, real-time observability), backed by a Postgres control plane (warp_config/warp_firewall_rules with hot-reload and standby failover via LISTEN/NOTIFY), executing against a primary Postgres and any number of additional shards, with a key-outcomes panel calling out simple architecture, strong security (centralized policies, auth, and SQL firewall), max performance, elastic scaling, lower costs, operational excellence, and the newly added InfluxDB (time-series) and GraphDB (Neo4j Bolt+Cypher) protocols
Every wire protocol feeds the same shared pipeline — firewall (ACL/PROXY protocol), router (shard scatter-gather and standby failover), QoS admission control, dialect translation, rollups, Mach, stats — before reaching real Postgres. Sharding, security, and caching aren't bolted on beside the pipeline — they're three of its eight stages, applied to every protocol identically. (gRPC is Warp's own native driver protocol, not an emulated foreign database — see full capabilities for what that means.)

Without Warp vs. with it

Without Warp

  • Different database infrastructure per protocol
  • A separate connection proxy
  • Different security controls per system
  • Different observability per system
  • Separate migration tooling
  • A separate, unguarded AI access path

With Warp

One gateway → the database you already run, or Postgres.

  • Fewer systems to operate — one gateway instead of five databases' own tooling.
  • One place to govern workloads — the same firewall, QoS, and audit path for every protocol.
  • Standardize on Postgres, or keep your current engine — without rewriting every application first, either way.

Warp vs. alternatives

CapabilityDirect to PostgresTraditional proxyWarp
Postgres wire protocol
Foreign DB protocols (Oracle, MySQL, SQL Server, MongoDB…)
Live dialect / semantic translation✓, every call
SQL firewallDB-side onlySome
Workload QoS / admission controlDB-side onlyLimited
Intelligent routingApp/DB-sideSome
ShardingApp/DB-sideSome
Cross-protocol distributed cachingSeparate system
AI / MCP access, same governed pathSeparate path
Unified observabilityMultiple layersProxy layer only

Comparison methodology →

Compatibility, honestly scoped

12Client protocols
8Real client stacks verified
Multi-AZFailover tested
5Managed Postgres platforms documented

Every row below is verified against that protocol's real client library, not a synthetic harness — this table states only what's actually confirmed today.

See the full per-protocol compatibility table →
ProtocolClient tested againstBound parameters decodedNative error translationRLS identity
PostgreSQLpsycopg2✓ (native SQLSTATE)
Oraclepython-oracledb, SQLcl, JDBC✓ (ORA-NNNNN)
SQL Serverpython-tds / pymssql, JDBC
MySQLMySQL CLI, JDBC✓ (errno)
MongoDBmongodb-driver-sync, mongoshHash by _id✓ (code/codeName)
DynamoDBAWS SDK v2Hash by partition key✓ (AWS exception names)
Amazon SQSboto3Hash by queue name✓ (AWS error codes)
OpenSearchopensearch-pyHash by doc_id✓ (error.type/reason)

"—" means not yet implemented for that protocol, stated plainly rather than omitted — see Security for exactly which protocols propagate a real per-caller identity today, and full capabilities / ERRORS.md for the complete per-protocol detail including known limitations.

Built for production

Schedule a Warp Architecture Review →

02 ghcr.io/polygres26/dms

Also from Sayonora

Ferry

Know before you migrate. Then move for real.

Assess

Understand migration difficulty.

Size

Plan the target Postgres environment.

Migrate

Massively parallel snapshot + CDC.

Run

Warp keeps applications connected and governed.

Explore Ferry →

03

Pricing

Same Warp, same protocols, same capabilities — Developer and Enterprise differ on scale and commercial rights, not features. Nothing that makes Warp what it is — SQL translation, the firewall, sharding, QoS, caching, HA/failover — is held back for a paid tier: an evaluation on Developer proves the exact architecture you'd run in production.

ProductDeveloperEnterprise starting pricePricing metric
WarpFree$15,000/yearper production deployment/cluster
FerryFree$7,500/yearper migration environment
ShimFree / Basic$5,000/yearper production deployment
Sayonora PlatformFree (dev)$20,000/yearbundle of all three
Enterprise UnlimitedCustom, ~$75,000+company/business-unit agreement

Sayonora Platform bundles Warp, Ferry, and Shim under one license at a discount to buying all three separately. Enterprise Unlimited is a company- or business-unit-wide agreement — unlimited deployments and migration environments across every product, negotiated directly. Starting prices above are exactly that — a starting point for the smallest real production footprint each product is sold against; talk to us for a quote on yours. Schedule a Warp Architecture Review →

Developer

$0 / forever

For evaluation, development, demos, and migration testing.

  • All twelve protocols — Postgres, MySQL, Oracle, SQL Server, MongoDB, DynamoDB, SQS, OpenSearch, InfluxDB, GraphDB, gRPC, MCP
  • SQL translation, dialect rewrite, and rollup acceleration
  • SQL firewall, connection ACL, and every policy engine
  • Routing and sharding, all strategies
  • QoS admission control
  • Query result caching (Mach)
  • Prometheus /metrics and OTEL export
  • HA, config propagation, and planned/unplanned failover — up to 3 instances
  • Up to 25 concurrent client connections per instance
  • Up to 3 Postgres backends
  • Community support only
  • Not licensed for commercial production use

Enterprise

$15,000 / year, starting

Simple infrastructure pricing. Per production deployment/cluster — no per-protocol fees, no per-database fees. For production deployments of any size.

  • Everything in Developer, unrestricted
  • Unlimited concurrent client connections
  • Unlimited Warp instances
  • Unlimited Postgres backends
  • Full throughput, no admission-control ceiling beyond what you configure
  • Licensed for commercial production use
  • Enterprise support

Schedule a Warp Architecture Review →

Developer's connection/instance/backend limits are real, locally-enforced caps — not a time-limited trial and not a phone-home metering service. They're enough to run applications, demos, benchmarks, and a genuine three-instance HA/failover test; a meaningful production deployment will reach them quickly by design.

Ferry

Assessment — connect, score, size, browse, report — is unrestricted on every tier. What's paid is the parts of actually moving the data that scale past a single-process, single-migration setup: real parallelism, unattended cutover, and multi-tenant capacity. Same WARP_LICENSE_KEY as Warp — one key, one thing to buy.

Developer

$0 / forever

For evaluation, a real migration test, and one-migration-at-a-time production use.

  • Full assessment: compatibility analysis, feature inventory, Postgres sizing
  • Real data migration — snapshot + live CDC, every source connector
  • Automatic resume/checkpointing, data validation, progress monitoring
  • Encryption at rest, Vault/CyberArk secrets — opt-in, unrestricted
  • Source protection — a fixed default throughput cap, always on
  • Serial migration — one partition/table read at a time
  • One migration job running at a time
  • A failed row stops the run — no retry or dead-letter queue
  • No packaged cutover-readiness verdict or automatic cutover
  • Single shared admin account — no RBAC, audit log, or SSO
  • Community support

Enterprise

$7,500 / year, starting

Per migration environment. For production migrations run at real scale.

  • Everything in Developer, unrestricted
  • Parallel snapshot/partition workers, single process
  • A distributed worker fleet — real, multi-process parallelism
  • Failed-row retry with dead-letter queue
  • Cutover-readiness verdict, plus automatic cutover the instant it's ready
  • Configurable throughput cap, tuned to your source, not just the default
  • Unlimited concurrent migrations
  • Audit log, a second read-only account, SSO bearer-token login
  • Enterprise support

Schedule a Warp Architecture Review →

Full row-by-row capability breakdown, including exactly which real license check backs each row: Ferry capability table →

Shim

Oracle/SQL Server/MySQL catalog and built-in-function compatibility inside Postgres itself — V$SESSION, DBMS_OUTPUT.PUT_LINE, sys.objects, GROUP_CONCAT — is what the Enterprise tier below unlocks. The same WARP_LICENSE_KEY that unlocks it also unlocks Warp and Sayonora DMS's own Enterprise tiers.

Free / Basic

$0

A session still connects and runs ordinary SQL normally.

  • No unqualified V$/DBA_*/DBMS_* resolution
  • No unqualified sys.*/T-SQL function resolution
  • No unqualified MySQL built-in function resolution

Enterprise

$5,000 / year, starting

Per production deployment. For a migrated application that still calls vendor catalog objects or built-ins.

  • Oracle: V$/GV$ views, DBA_*/USER_*/ALL_* views, 13 DBMS_*/UTL_* packages
  • MySQL: GROUP_CONCAT, DATE_FORMAT, SHOW COLUMNS/INDEX/VARIABLES, and more
  • SQL Server: sys.* catalog views, OBJECT_ID, SCOPE_IDENTITY, and more T-SQL functions
  • Enterprise support

Schedule a Warp Architecture Review →

Full per-engine compatibility tables: Shim →

04

Common questions

05

Contact

Considering Warp for production? Bring your architecture — we'll help map where Warp fits. Pick "Architecture Review" below.

Report an issue or ask a question — for either Warp or Ferry. Include what you were trying to do and, for a bug, what you expected vs. what happened. Goes straight to the team, no email address to copy or scrape.