Yangyang <yangyangbm@gmail.com> writes:
> I'm trying to force the database to select another query plan for a
> query, rather than the optimal one.
> I changed query tuning related parameters, but the query plan stays
> the same. Although the costs for nodes changed correspondingly,
> What parameters can I modify to force the DB to select another plan?
There are the enable_xxx flags, or if the problem is a bad join order
you could reduce the join_collapse_limit setting to 1 and use JOIN
syntax to specify the join order. If you'd like it to not use a
particular index you could transiently drop that index:
begin;
drop index ...;
explain ...;
rollback;
I recently rewrote the manual's discussion of using explain, so
you might care to read this:
http://developer.postgresql.org/pgdocs/postgres/using-explain.html
although it does refer to a couple of features that don't exist in
production releases yet.
regards, tom lane