Re: Out of memory error in 8.1.0 Win32 - Mailing list pgsql-general

From Tom Lane
Subject Re: Out of memory error in 8.1.0 Win32
Date
Msg-id 2413.1151002384@sss.pgh.pa.us
Whole thread Raw
In response to Re: Out of memory error in 8.1.0 Win32  ("Todd A. Cook" <tcook@blackducksoftware.com>)
Responses Re: Out of memory error in 8.1.0 Win32
List pgsql-general
"Todd A. Cook" <tcook@blackducksoftware.com> writes:
> oom_test=> explain select val,count(*) from oom_tab group by val;
>                                 QUERY PLAN
> -------------------------------------------------------------------------
>   HashAggregate  (cost=1163446.13..1163448.63 rows=200 width=4)
>     ->  Seq Scan on oom_tab  (cost=0.00..867748.42 rows=59139542 width=4)

> The row estimitate for oom_tab is close to the actual value.  Most of
> the values are unique, however, so the result should have around 59M
> rows too.

Well, that's the problem right there :-(.  Have you ANALYZEd this table?
I think 200 is the default estimate for number of groups in the absence
of any ANALYZE stats, but it should surely not be that far off if it's
got real stats to play with.

If you need to make the query not fail without stats, you could set
enable_hashagg false, but I wouldn't recommend that as a production
choice (unless you set it just for this one query).

            regards, tom lane

pgsql-general by date:

Previous
From: Andrew Gould
Date:
Subject: OT: publicly available databases?
Next
From: Greg Stark
Date:
Subject: Re: Out of memory error in 8.1.0 Win32