postgres SQL で複雑な select 文を投げていて、そのパフォーマンスがでていなかったとします。

その select 文を explain してみると、どのように postgres が select を実行するかは説明されますが、なぜそのような実行計画がたてられたのかがよくわからない場合、これはどのようにデバッグされるのでしょうか。

MySQL では optimizer trace があるので、それを眺めているとなんとなく、オプティマイザがどう動いたのかが理解できるのですが、 postgres ではどうなのだろと思い、質問しています。