> HashAggregate doesn't have any ability to spill to disk.  The planner
> will not select a HashAggregate if it thinks the required hash table
> would be larger than work_mem.  What you've evidently got here is a
> misestimate of the required hash table size, which most likely is
> stemming from a bad estimate of the number of groups.  How does that
> estimate (12617088 here) compare to reality?  Have you tried increasing
> the statistics target for partner_id and keyword (or the whole table)?

Looking at the pg_statistics table the stats for one of the columns
(keyword) is seriously underestimated.
By increasing the stats target to 1000 it gets a bit better but still
underestimated by a a factor of about 10.
I guess that's why postgresql thinks it can fit it all into a hash.

Thanks for the help.

Cheers
Rob


-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to