Early Access — PostgreSQL Migration

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 RDSAmazon RDSAmazon AuroraAmazon AuroraGoogle Cloud SQLGoogle Cloud SQLAzure DatabaseAzure DatabaseSupabaseSupabaseNeonNeonCockroachDBCockroachDBDatabricks LakebaseDatabricks LakebaseDigitalOceanDigitalOceanSelf-HostedSelf-Hosted
See how it works

How it works

11 steps to a zero-downtime PostgreSQL migration

1

Current State/ Direct Connection

Your applications connect directly to your existing PostgreSQL database. No proxy, no intermediary.


2

Deploy Exodus/ Wire-Protocol Proxy

Exodus deploys as a transparent proxy that speaks native PostgreSQL wire protocol. Clients connect without code changes.

3

Analyze/ Traffic + Schema

Exodus analyzes traffic patterns, schema structure, triggers, sequences, replication state, and session behavior. Builds a complete migration profile.


4

Recommend Target/ Optimal Configuration

Based on traffic analysis, Exodus recommends the optimal target PostgreSQL deployment with the right configuration and sizing.

5

Connect Target/ Dual-Write Activation

Exodus establishes connections to both databases. Dual-write mode activates — every write is applied to both source and target.

6

Shadow Test/ Correctness Validation

Exodus replays production traffic against the target and compares responses. Validates query plans, implicit casts, collation behavior, and latency.


7

Redirect to Exodus/ Proxy Activated

Update your connection string to point at Exodus. Exodus proxies everything to the source database while mirroring all writes to the target via dual-write.

8

Canary Migration/ Gradual Read Shift

Reads shift gradually from source to target with WAL lag-aware routing. The write serializer prevents ordering anomalies. Instant rollback at every step.

9

Complete Migration/ Full Cutover

All traffic flows through Exodus to the target database. The source is idle, still running as a fallback. Divergence detection confirms consistency.


10

Decommission Source/ Clean Up

Source database decommissioned. Exodus stays as the orchestration layer, monitoring and ready for the next migration.


11

Remove Exodus/ Optional

Optionally remove Exodus. Your applications connect directly to the target database. No lock-in, no residual dependencies.

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

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

Strongest

ACID, true 2PC using PREPARE TRANSACTION. Both databases commit atomically or neither does.

BothRequired

Recommended

Non-ACID, sequential execution on both databases. Failed secondary writes are enqueued for replay.

OldAuthoritative

Source database is the source of truth. Target receives replayed writes on failure.

NewAuthoritative

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.

13 Resolved8 Mitigated5 Accepted Risk0 Open

Ready to migrate PostgreSQL?

PostgreSQL migration is in early access. We work directly with your team to plan, test, and execute the migration.