Thomas Munro <thomas.munro@enterprisedb.com> writes:
> There is a fundamental and complicated estimation problem lurking here
> of course and I'm not sure what to think about that yet. Maybe there
> is a very simple fix for this particular problem:
Ah, I see you thought of the same hack I did.
I think this may actually be a good fix, and here's the reason: this plan
is in fact being driven entirely off planner default estimates, because
we don't have any estimation code that knows what to do with
"wholerowvar *= wholerowvar". I'm suspicious that we could drop the
preceding ANALYZE as being a waste of cycles, except maybe it's finding
out the number of rows for us. In any case, LIMIT 1 is only a good idea
to the extent that the planner knows what it's doing, and this is an
example where it demonstrably doesn't and won't any time soon.
regards, tom lane