Re: vacuum full, why multiple times ?

From: Michael Fuhr <mike(at)fuhr(dot)org>
To: Gaetano Mendola <mendola(at)bigfoot(dot)com>
Cc: "pgsql-performance(at)postgresql(dot)org" <pgsql-performance(at)postgresql(dot)org>
Subject: Re: vacuum full, why multiple times ?
Date: 2005-03-09 02:15:33
Message-ID: 20050309021533.GB13883@winnie.fuhr.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

On Wed, Mar 09, 2005 at 02:02:13AM +0100, Gaetano Mendola wrote:

> Basically I'm noticing that a simple vacuum full is not enough to
> shrink completelly the table:
>
> # vacuum full verbose url;
> INFO: vacuuming "public.url"
> INFO: "url": found 268392 removable, 21286 nonremovable row versions in 8563 pages
> DETAIL: 22 dead row versions cannot be removed yet.

How busy is the database? I'd guess that each time you run VACUUM,
there are still open transactions that have visibility to the dead
rows, so VACUUM doesn't touch them. Those transactions eventually
complete, and eventually VACUUM FULL does what you're expecting.
I don't know if that's the only possible cause, but I get results
similar to yours if I have transactions open when I run VACUUM.

--
Michael Fuhr
http://www.fuhr.org/~mfuhr/

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message David B 2005-03-09 03:07:48 64bit Opteron multi drive raid. Help with best config settings
Previous Message John A Meinel 2005-03-09 01:46:37 Re: Query Optimization