Casey Duncan <casey@xxxxxxxxxxx> 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