What Postgres / MySQL Migration Actually Costs in 2026Real numbers from real teams. Every figure linked to source.
No other top-10 result consolidates Uber (2016), GitLab (2017-2020), Notion (2021), Heap, and Discord in one place with real context. This is that page.
The six cost components
Schema audit, query translation, ORM updates, CDC setup, testing, stabilisation. Largest component for almost every team.
pgloader is free. AWS DMS is metered. Striim/Qlik are commercial. Enterprise migrations with long CDC windows cost real money.
Schema migration scripts, test fixtures, environment provisioning all change. CI cycle time often increases during migration.
Blue-green or dual-write patterns can reach near-zero. Simple dump-and-load on large datasets means a weekend window minimum.
Postgres MVCC and VACUUM vs MySQL InnoDB. PgBouncer vs ProxySQL. WAL vs binlog. Every DBA and SRE needs re-education.
Query plan regressions, unexpected lock patterns, VACUUM tuning, new monitoring gaps. Budget for a productive dip.
The case data (sourced)
Migration tooling: the 2026 picture
Pricing verified against vendor pages, April 2026.
| Tool | Direction | Cost | Speed | Limits / Notes |
|---|---|---|---|---|
| pgloader | MySQL to Postgres | Free (open source) | Hours for small / medium schemas | Stored procedures, triggers, complex types need manual translation |
| AWS DMS | Both directions | Per-instance-hour + data transfer. Low hundreds to low thousands for typical migrations | Full load + ongoing CDC; enterprise migrations run weeks | Pricing as of April 2026; verify at aws.amazon.com/dms/pricing |
| Striim | Both directions | Commercial, pricing on request | Real-time CDC; enterprise grade | Budget item for enterprise; not for small teams |
| Fivetran | Both directions (ELT pattern) | Per-row pricing; budget varies widely | ELT pattern; not designed for DB-to-DB zero-downtime | Better for analytics pipeline than primary DB migration |
Should you wait? The honest answer.
Most teams should wait until they have a clear pain trigger. Migrating without one is expensive insurance. Pain triggers that justify the cost:
- Oracle license audit risk that your legal team has flagged
- A specific feature blocker that PostGIS, JSONB indexing, or logical replication failover resolves
- A scale wall that Postgres + Citus solves and MySQL + your current sharding does not
- Ecosystem fragmentation where your primary tools have dropped MySQL support
Without one of those triggers, the migration cost is rarely paid back in the first 2-3 years. Choose based on the new project decision; tolerate the existing stack until the pain trigger arrives.
Schema migrations are CI cycles. If your CI bill is part of the migration cost: CI/CD Cost Calculator
Migrations often surface tech debt hidden in the old system: Tech Debt Cost