Alvaro Herrera <alvhe...@2ndquadrant.com> writes: > Pete Stevenson wrote: >> Maybe I could figure out the lines of code that add versions into a >> table and then those that collect old versions (they do get collected, >> right?). Anyway, thought being I could profile while running TPC-C or >> similar. I was hoping that someone might be able to jump on this with >> a response that they already did something similar.
> Old tuple versions are "collected" (removed) by either vacuum (see > vacuumlazy.c) and heap_page_prune. The latter is one thing that could > perhaps somehow be offloaded, as it's quite independent from the other > stuff. You can prune removable tuples at no additional cost from an > unlocked dirty page, which is a useful optimization because then > client-connected backends don't need to prune them later. VACUUM in itself is an offloading optimization; the whole point of it is to do maintenance in a background process not foreground queries. AFAIR, heap_page_prune is just a small subset of VACUUM work that we decided we could afford to do in foreground. regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers