> 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@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general