On Sat, Dec 24, 2011 at 4:22 PM, Michael Smolsky <sitrash(at)email(dot)com> wrote:
> work_mem = 128MB (tried 257MB, didn't change anything)
This is probably your problem.
Without an EXPLAIN output, I cannot be sure, but 'work_mem' is not the
total amount of memory a query can use, it's the amount of memory it
can use for *one* sort/hash/whatever operation. A complex query can
have many of those, so your machine is probably swapping due to
excessive memory requirements.
Try *lowering* it. You can do so only for that query, by executing:
set work_mem = '8MB'; <your query>