So far we have seen the planner build candidate paths and rank them by cost, choose join methods and join orders, and estimate those costs from statistics. But before any of that cost comparison begins, the planner does something else first. It takes the incoming Query tree and rewrites it once...

Source: [Dev.to](https://dev.to/joonghyukshin/149-planner-preprocessing-subquery-pull-up-predicate-pushdown-equivalence-classes-20l7)

Sponsored