Tom Lane escribió:
> Alvaro Herrera <alvherre@commandprompt.com> writes:
> >> VACUUM getting "Out of memory" may not sound like a big problem, but
> >> the scary thing is - the last VACUUM's memory request may succeed and
> >> that means following queries start failing and that is big problem.
>
> > Maybe what we should do is spill the TID list to disk instead. TODO for
> > 8.4?
>
> I'm inclined to think that that'd be counterproductive. Searching the
> TID list has to be *fast*, else the index cleanup scans will take
> forever. It's probably better to have a smaller list and do two index
> passes than to try to do it in one pass using a list that doesn't fit in
> memory --- in the former case you're at least doing a seqscan of the
> index, rather than randomly faulting in different parts of the TID list.
Maybe we could load it in a more compact form after the heap cleanup
pass, instead of a plain TID list.
--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.