Planner enable flags
Also called: enable_seqscan, enable_indexscan, enable_hashjoin
The enable_* settings (enable_seqscan, enable_indexscan, enable_hashjoin, and friends) let you discourage a particular strategy. Turning one off does not truly forbid it, it adds a large penalty to that path's cost so the planner picks something else if it can.
What this means
The enable_* switches (enable_seqscan, enable_indexscan, and friends) don't truly ban a strategy, they just pile a huge cost penalty onto it so the planner avoids it whenever it has an alternative. They're mainly a debugging tool: turn one off to see what plan Postgres would reach for instead.
Why it matters operationally
They are diagnostic tools: flip one off, re-run EXPLAIN, and see what the planner would otherwise have chosen and at what cost. That tells you why a strategy won. They are not meant for production, the right fix is usually better statistics or tuned cost constants, not a permanently disabled scan type.