Obsfly

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

  1. Step 1

    Capture Pg 13 baseline

    Pin Obsfly's top-100 normalized queries with their p50/p95/p99 distributions.

  2. Step 2

    Stand up Pg 16 replica via logical replication

    Or pg_upgrade if you can take downtime. Logical lets you validate without committing.

  3. Step 3

    Replay top-100 against Pg 16

    Obsfly's plan-flip detector flags signatures that regressed — these need attention.

  4. 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 →
From Postgres 13 to Obsfly — migration guide · Obsfly