Dmitry Tkach <dmitry@openratings.com> writes:
> I suppose, this is because the planner takes the order, in which the
> tables appear in the explicit joins as some kind of a hint to how I want
> that query to be executed,
It's not a "hint", it's a requirement. In general, changing the order
in which outer joins are executed changes the results.
There are some cases in which it is safe to rearrange the order, but
determining this takes close analysis of the join conditions, and we
don't (yet) have any code to do that. So the planner must be
conservative and take your join order as gospel.
regards, tom lane