Alvaro Herrera <alvherre@commandprompt.com> writes:
> Alexander Staubo escribi�:
>> Are you sure? I was under the impression that PostgreSQL could reorder
>> "where" clauses, but did not yet reorder explicit joins (as opposed
>> to implicit ones through, say, "in"). But perhaps it only applied to
>> some types of joins.
> Postgres does flatten joins, and reorders the resulting range tables as
> convenient. Only in 8.2 it learned how to to reorder outer joins, but
> for inner joins this has been in place for a lot longer.
The rules for this have changed over time, and you can affect them through
planner parameters too. Consult
http://www.postgresql.org/docs/8.2/static/explicit-joins.html
^^^
with URL adjusted for your PG version.
regards, tom lane