On 10/21/21 4:29 PM, Joe Conway wrote: > On 10/21/21 4:23 PM, Robert Haas wrote: >> On Thu, Oct 21, 2021 at 4:19 PM Joe Conway <m...@joeconway.com> wrote: >>> That is a grossly overstated position. When I have looked, it is often >>> not that terribly far off. And for many use cases that I have heard of >>> at least, quite adequate. >> >> I don't think it's grossly overstated. If you need an approximation it >> may be good enough, but I don't think it will often be exactly correct >> - probably only if the table is small and rarely modified. > > meh -- the people who expect this to be impossibly fast don't > typically need or expect it to be exactly correct, and there is no way > to make it "exactly correct" in someone's snapshot without doing all > the work. > > That is why I didn't suggest making it the default. If you flip the > switch, you would get a very fast approximation. If you care about > accuracy, you accept it has to be slow. >
I don't think we really want a switch for "inaccurate results acceptable", and I doubt the standard would accept an approximation for count(*). But something else that gave a fast approximate answer ("count_estimate(*)"?) would be useful to many. Not portable but still useful, if someone could come up with a reasonable implementation. cheers andrew -- Andrew Dunstan EDB: https://www.enterprisedb.com