Mr Pink <mr_pink_is_the_only_pro(at)yahoo(dot)com> writes:
>>> AFAIK postgres doesn't peek at values used in a query when optimizing
>>
>> Of course it does.
> But not ones returned by a function such as now(), or when you use
> bind variables, as Tom aptly explained.
FWIW, 8.0 does have the ability to use the values of bind variables for
planning estimation (Oliver Jowett did the work for this). The main
issue in the way of dealing with now() is that whatever we did to now()
would apply to all functions marked "stable", and it's a bit
nervous-making to assume that they should all be treated this way.
Or we could introduce more function volatility categories, but that's
not much fun either.
regards, tom lane