Alvaro Herrera wrote:

On Tue, Dec 07, 2004 at 12:02:13PM +1100, Neil Conway wrote:


On Mon, 2004-12-06 at 19:37 -0500, Paul Tillotson wrote:


I seem to remember hearing that the memory limit on certain operations, such as sorts, is not "enforced" (may the hackers correct me if I am wrong); rather, the planner estimates how much a sort might take by looking at the statistics for a table.





AFAIK this is not the case.



AFAIK this is indeed the case with hashed aggregation, which uses the sort_mem (work_mem) parameter to control its operation, but for which it is not a hard limit.

I concur however that multiple concurrent sorts may consume more memory
than the limit specified for one sort. (Just last week I saw a server
running with sort_mem set to 800 MB ... no wonder the server went belly
up every day at 3.00am, exactly when a lot of reports were being
generated)


Does postgres actually do multiple concurrent sorts within a single backend? I didn't think it would ever do this, since each backend has only a single thread. David says that he sees a particular process start to consume very large amounts of memory, and from my understanding of postgres, this must be one single query taking a lot of memory, not "multiple concurrent sorts."

Paul Tillotson

---------------------------(end of broadcast)---------------------------
TIP 7: don't forget to increase your free space map settings

Reply via email to