Skip site navigation (1) Skip section navigation (2)

Re: autovacuum blocks the operations of other manual vacuum

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: kuopo <spkuo(at)cs(dot)nctu(dot)edu(dot)tw>
Cc: pgsql-performance <pgsql-performance(at)postgresql(dot)org>
Subject: Re: autovacuum blocks the operations of other manual vacuum
Date: 2010-11-16 15:26:44
Message-ID: 1289921093-sup-1911@alvh.no-ip.org (view raw or flat)
Thread:
Lists: pgsql-performance
Excerpts from kuopo's message of vie nov 12 05:01:24 -0300 2010:
> Hi,
> 
> I have a question about the behavior of autovacuum. When I have a big
> table A which is being processed by autovacuum, I also manually use
> (full) vacuum to clean another table B. Then I found that I always got
> something like “found 0 removable, 14283 nonremovable row”. However,
> if I stop the autovacuum functionality and use vacuum on that big
> table A manually, I can clean table B (ex. found 22615 removable, 2049
> nonremovable row).
> 
> Is this correct? Why do vacuum and autovacuum have different actions?

Vacuum full does not assume that it can clean up tuples while other
transactions are running, and that includes the (non full, or "lazy")
vacuum that autovacuum is running.  Autovacuum only runs lazy vacuum;
and that one is aware that other concurrent vacuums can be ignored.

Just don't use vacuum full unless strictly necessary.  It has other
drawbacks.

-- 
Álvaro Herrera <alvherre(at)commandprompt(dot)com>
The PostgreSQL Company - Command Prompt, Inc.
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

In response to

Responses

pgsql-performance by date

Next:From: Harald FuchsDate: 2010-11-16 16:28:19
Subject: Re: best db schema for time series data?
Previous:From: Jayadevan MDate: 2010-11-16 11:55:42
Subject: Re: best db schema for time series data?

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group