We have planner method parameters for many important parts of the
planner. We don't have any parameter for join removal, AFAIK.
The first question I get asked is "can I see the tables it removed?".
This has been asked of me 3 times now this year, always first question.
Same issue applies to constraint exclusion.
But we *can* do this with constraint_exclusion, simply by turning it off
and checking the two outputs.
So I think we need a parameter for join removal also.
I don't want to turn it off, but I think we need a way for people to
check themselves that the removal of the joins is not an error. I
foresee many false bug reports along the lines of "optimizer ate my join
and I want it back".
-- Simon Riggs www.2ndQuadrant.com