IndexPilot

PostgreSQL index decision guide

Why is PostgreSQL not using my index?

Test whether PostgreSQL selects a proposed index for representative query shapes before keeping it as production overhead.

The problem

The index exists—or is proposed—but PostgreSQL may still prefer a sequential scan.

How IndexPilot helps

IndexPilot can create a session-local HypoPG index and ask PostgreSQL whether representative workload shapes select it. The result is planner evidence, not a latency guarantee.

Try it

$ pipx install indexpilot
$ indexpilot review --candidate-file proposed-index.sql --hypopg
  • Planner selected the exact hypothetical shape
  • Estimated planner-cost change
  • Inconclusive result when evidence is insufficient

Important limit

IndexPilot decides whether an index has enough evidence to benchmark. It does not claim that planner cost equals production latency or that an index is safe to ship.