Skip to content
Tech

Why does my query drop from 3ms to 4 seconds on Tuesday with no deploy?

78

Opportunity

PostgreSQL's query planner re-evaluates execution plans whenever table statistics change, which happens asynchronously through autovacuum and ANALYZE, independent of any code deployment. A batch import, a routine vacuum after deletion, or a gradual shift in data distribution can flip an index scan to a sequential scan overnight, turning a 3ms query into a 4-second one with no error emitted and no deployment in the history. These regressions are invisible in CI because they are driven by statistics state, not code state, and no standard test harness captures plans across different statistics snapshots. Pganalyze and similar tools detect plan flips after they occur in production, but there is no upstream gate that tests query plan stability before a schema change or data migration ships. PostgreSQL proposed the pg_plan_advice contrib module in October 2025 to let operators hint or pin plan

Why it matters

Silent query plan regressions are one of the most common causes of unexplained production latency spikes and they remain undetectable until a user reports slowness.

How I score the opportunity

The Opportunity Score is my own read, not a measurement: how much it hurts, how often it bites, and how little exists to solve it today. Higher means I think it is more worth building.

Severity7/10

How much pain it causes when it shows up.

Frequency8/10

How often people actually run into it.

Whitespace7/10

How little good tooling exists for it today.

More problems worth solving