Migrate PostgreSQL.
Zero downtime.
Exodus deploys as a wire-protocol proxy with dual-write, two-phase commit, and instant rollback. No code changes, no maintenance windows.
Supported Systems
Amazon RDS
Amazon Aurora
Google Cloud SQL
Azure Database
Supabase
Neon
CockroachDB
Databricks Lakebase
Self-HostedHow it works
Follow each phase of a zero-downtime PostgreSQL migration.
Pre-test mirrors SQL traffic while apps still use the source. Analyze cuts clients over to Exodus, then compare, test, migrate, roll back, or commit through the gateway.
Source PostgresMirror PostgreSQL traffic before Exodus enters the request path.
Applications keep connecting directly to source Postgres. A parallel traffic copy feeds Exodus and Observability so protocol handling, transaction assumptions, and rollback behavior can be tested first.
Implementation documentation
Use these references when you are ready to configure endpoints, point traffic at Exodus, prepare a workflow, approve execution, monitor progress, and roll back or complete the migration.
Phase-by-phase operating guide for source, target, interlay, workflow setup, approval, monitoring, rollback, and completion.
Guided Redis workflow endpoints plus raw migration APIs for analysis, compatibility, tests, traffic controls, metrics, and rollback.
Connection shape, privileges, schema planning, transaction behavior, validation, and early-access migration notes.
Built for production PostgreSQL
Every feature driven by real-world migration challenges
Two-Phase Commit
True cross-database atomicity using PostgreSQL's native PREPARE TRANSACTION mechanism. Both databases commit or neither does.
Dual-Write Proxy
Transparent wire-protocol proxy that intercepts connections and mirrors writes to both source and target databases in real time.
Shadow Testing
Replays live production traffic against the target and compares responses. Validates correctness and latency before any cutover.
Instant Rollback
Roll back to the source at any point during migration. The interlay proxy redirects traffic in milliseconds with zero data loss.
Write Serialization
Per-row mutex map serializes concurrent writes to the same row across both databases, preventing ordering anomalies.
Replay Queue
Background retry with exponential backoff for failed secondary writes. Transaction batches are replayed atomically with BEGIN/COMMIT wrapping.
WAL Lag-Aware Routing
Monitors pg_replication_slots in real time. Reads are redirected away from lagging replicas to prevent stale data.
Session State Replication
SET, RESET, and DISCARD commands are mirrored to both endpoints. Transaction replays include session context for identical behavior.
Divergence Detection
Background polling compares row counts across databases on a configurable interval. Trigger-bearing tables are prioritized.
Full Protocol Coverage
Both Simple Query and Extended Query (prepared statements) protocols are fully supported with identical dual-write semantics.
Read-Your-Writes Consistency
Session affinity tracker pins reads to the authoritative side after secondary failures. Integrates with replay queue depth for automatic clearing.

Datadog Observability
Per-request metrics exported to Datadog for full migration visibility. Track latency, error rates, and throughput across both endpoints in real time.
Multiple migration strategies
Choose the right approach for your risk tolerance and timeline
Big Bang
All traffic switches to the target at once. Fastest cutover for systems that can tolerate a brief maintenance window.
Canary
Gradual traffic shift from 5% to 100% with instant rollback at every step. The safest path for most production systems.
Blue/Green
Run both environments in parallel, validate the target under real load, then switch over with a single routing change.
User-by-User
Migrate individual users or tenants incrementally. Ideal for multi-tenant systems where per-tenant rollback is required.
Shadow
Mirror production traffic to the target for validation without affecting live users. Proves correctness before any cutover.
Write consistency policies
Choose the right trade-off between consistency, latency, and availability
TwoPhaseCommit
StrongestACID, true 2PC using PREPARE TRANSACTION. Both databases commit atomically or neither does.
BothRequired
RecommendedNon-ACID, sequential execution on both databases. Failed secondary writes are enqueued for replay.
SourceAuthoritative
Source database is the source of truth. Target receives replayed writes on failure.
TargetAuthoritative
Target database is the source of truth. Source receives replayed writes on failure.
BestEffort
Fire-and-forget to the secondary. Lowest latency impact during migration.
Every correctness gap, documented
26 gaps identified in joint review. Here's how each one is handled.
Ready to migrate PostgreSQL?
PostgreSQL migration is in early access. We work directly with your team to plan, test, and execute the migration.