Re: autovacuum blocks the operations of other manual vacuum - Mailing list pgsql-performance

From Alvaro Herrera
Subject Re: autovacuum blocks the operations of other manual vacuum
Date
Msg-id 1289921093-sup-1911@alvh.no-ip.org
Whole thread Raw
In response to autovacuum blocks the operations of other manual vacuum  (kuopo <spkuo@cs.nctu.edu.tw>)
Responses Re: autovacuum blocks the operations of other manual vacuum  (kuopo <spkuo@cs.nctu.edu.tw>)
List 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@commandprompt.com>
The PostgreSQL Company - Command Prompt, Inc.
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

pgsql-performance by date:

Previous
From: Jayadevan M
Date:
Subject: Re: best db schema for time series data?
Next
From: Harald Fuchs
Date:
Subject: Re: best db schema for time series data?