Re: Large aggregate query running out of memory in ExecutorState - Mailing list pgsql-general

From Tom Lane
Subject Re: Large aggregate query running out of memory in ExecutorState
Date
Msg-id 16761.1172871252@sss.pgh.pa.us
Whole thread Raw
In response to Large aggregate query running out of memory in ExecutorState  (Casey Duncan <casey@pandora.com>)
List pgsql-general
Casey Duncan <casey@pandora.com> writes:
> I have some nightly statisics queries that runs against a view which
> unions several large tables. Recently one of these queries started
> running into out of memory errors. This is on postgresql 8.1.8
> running on 32-bit Debian Linux.

What have you got work_mem set to, and what's the actual process size
limit the kernel is enforcing?  It looks to me like your query will
try to eat at least twice work_mem for the two COUNT DISTINCT operations.
Another issue is that the measurement of how much space is really being
used is not necessarily very accurate --- I don't recall exactly how
good 8.1 is about that, but it wouldn't surprise me too much if the
actual net memory demand was about twice as much again.

Anyway the short answer is probably "reduce work_mem".

            regards, tom lane

pgsql-general by date:

Previous
From: dlivesay@covad.net
Date:
Subject: Re: I'd love to know what the rest of this error message is.
Next
From: Tom Lane
Date:
Subject: Re: How often do I need to reindex tables?