Hi Tom,

As always, your insight is VERY helpful.  We'll try your suggestions and see
if that helps things out...  Thanks!

Sam

On Fri, Jan 22, 2010 at 4:01 PM, Tom Lane <t...@sss.pgh.pa.us> wrote:

> PG User 2010 <pguser2...@gmail.com> writes:
> > 1) is there any easy way to fiddle with the vacuum process so that it is
> not
> > CPU bound and doing very little I/O?  Why would vacuum full be CPU bound
> > anyway???
>
> The only part of VAC FULL that seems like it could be CPU-bound is index
> cleanup.  If the table is sufficiently bloated with dead tuples, that
> could take awhile.  It might be useful to try this:
>
> 1. REINDEX TABLE pg_largeobject;
> 2. VACUUM pg_largeobject;
> 3. VACUUM FULL pg_largeobject;
>
> I have never tried this in a serious bloat situation, but in principle
> I think it should improve matters.  The idea is to get rid of as many dead
> index and heap entries as you can before letting VAC FULL loose on it, and
> also do as much of the work as possible with a less-than-exclusive lock.
> Don't forget that large maintenance_work_mem will help the first two
> steps, as long as you don't set it so high as to drive the machine into
> swapping.
>
> > 2) is it possible to interrupt VACUUM FULL, then re-start it later on and
> > have it pick up where it was working before?
>
> NO.  Doing that will in fact make things worse --- a failed VAC FULL
> results in even more dead entries to be cleaned up.
>
>                        regards, tom lane
>

Reply via email to