Migration guides / Stack
From Postgres 13 to Obsfly
Pg 13 reaches end-of-life November 2025.
Why teams switch
- Pg 13 reaches end-of-life November 2025.
- Pg 16 brings parallel apply on logical replication, faster sort, refined autovacuum, and SQL/JSON improvements.
- Performance gains compound — many real-world workloads see 10-20% latency reduction at no cost.
- Obsfly tracks the upgrade by replaying canonical queries on both versions, side by side.
What Pg 13 is genuinely good at
Fairness signal — useful in renewal conversations.
- Pg 13 is stable and well-understood. If you can wait, plan a thorough upgrade rather than rushing.
Migration playbook
Step 1
Capture Pg 13 baseline
Pin Obsfly's top-100 normalized queries with their p50/p95/p99 distributions.
Step 2
Stand up Pg 16 replica via logical replication
Or pg_upgrade if you can take downtime. Logical lets you validate without committing.
Step 3
Replay top-100 against Pg 16
Obsfly's plan-flip detector flags signatures that regressed — these need attention.
Step 4
Cut over and re-baseline
Stage a 10-15% traffic shift first, watch the band, then full cutover.
Pitfalls to avoid
- Watch for plan flips — ANALYZE statistics may need re-collection.
- Custom extensions: confirm 16 compatibility for every single one before cutover.
FAQ
- Will Obsfly diff plans between versions?
- Yes — by structureHash. A regressed plan shows as a flip immediately after cutover.
Ready to switch?
Book a 30-minute migration call.
We'll spec your parallel-run plan together, agree on success criteria, and quote your first 30-day deal.
Book a call →