Why Postgres isn't using your index (a checklist)
Stale statistics, a function wrapping the indexed column, or a query that touches most of the table — any of these will send the planner to a sequential scan instead.
Run ANALYZE first. It’s the fix more often than not.