Re: Out of memory error in 8.1.0 Win32

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Out of memory error in 8.1.0 Win32
Дата
Msg-id 2413.1151002384@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Out of memory error in 8.1.0 Win32  ("Todd A. Cook" <tcook@blackducksoftware.com>)
Ответы Re: Out of memory error in 8.1.0 Win32  ("Todd A. Cook" <tcook@blackducksoftware.com>)
Список 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 по дате отправления:

Предыдущее
От: Andrew Gould
Дата:
Сообщение: OT: publicly available databases?
Следующее
От: Greg Stark
Дата:
Сообщение: Re: Out of memory error in 8.1.0 Win32