Hi, Perennially our users have complaints about slow count(*) when coming from some other systems. Index-only scans help, but I think we can do better. I recently wondered if a BRIN index could be used to answer min/max aggregate queries over the whole table, and it turns out it doesn't. However, then it occurred to me that if we had an opclass that keeps track of the count in each page range, that would be a way to do a fast count(*) by creating the right index. That would require planner support and other work, but it seems doable. Any opinions on whether this is worth the effort?
-- John Naylor EDB: http://www.enterprisedb.com