"Jim C. Nasby" <jnasby@xxxxxxxxxxxxx> writes: > On Mon, Dec 19, 2005 at 03:47:35PM -0500, Greg Stark wrote: >> Increase your work_mem (or sort_mem in older postgres versions), you can do >> this for the server as a whole or just for this one session and set it back >> after this one query. You can increase it up until it starts causing swapping >> at which point it would be counter productive. > Just remember that work_memory is per-operation, so it's easy to push > the box into swapping if the workload increases. You didn't say how much > memory you have, but I'd be careful if work_memory * max_connections > gets very much larger than your total memory. It's considered good practice to have a relatively small default work_mem setting (in postgresql.conf), and then let individual sessions push up the value locally with "SET work_mem" if they are going to execute queries that need it. This works well as long as you only have one or a few such "heavy" sessions at a time. regards, tom lane