Here is a commit that accomplishes this with a configuration parameter.
On Mon, Sep 28, 2020 at 2:07 PM Tom Lane <tgl@xxxxxxxxxxxxx> wrote:
Timothy Garnett <tgarnett@xxxxxxxxxxx> writes:
> Is there some way to tell the planner that unless it's guaranteed by a
> constraint or some such it shouldn't guess that the selectivity of a
> filter/anti-join is 1 row (e.g. minimum to consider is 2 rows unless it's
> guaranteed to be 1 row) or somehow otherwise make it more conservative
> around the worst case possibilities.
There's been some discussion in that area, but it's a hard problem
to solve in general, and especially so if you'd like to not break
a ton of queries that work nicely today.
regards, tom lane