Re: Is there a way to make VACUUM run completely outside - Mailing list pgsql-hackers

From Alvaro Herrera
Subject Re: Is there a way to make VACUUM run completely outside
Date
Msg-id 20050208163950.GB24203@dcc.uchile.cl
Whole thread Raw
In response to Re: Is there a way to make VACUUM run completely outside  (Hannu Krosing <hannu@tm.ee>)
Responses Re: Is there a way to make VACUUM run completely outside  (Hannu Krosing <hannu@tm.ee>)
List pgsql-hackers
On Tue, Feb 08, 2005 at 01:55:47PM +0200, Hannu Krosing wrote:

> So I guess that making it commit and open new transaction at a regular
> interval (like each minute) during vacuuming single table would not
> alter its visible behaviour. That would solve my problem of long-running
> vacuums on large tables polluting unrelated small but heavily updated
> tables with dead tuples.

Interesting.  The problem is that a long running VACUUM on a single
table will keep in PGPROC a TransactionId that will last very long,
which will "pollute" every concurrent Snapshot; so smaller tables can't
be cleaned up because the tuples are visible for the transaction running
the vacuum -- except that that transaction cannot possibly want to look
at them.

-- 
Alvaro Herrera (<alvherre[@]dcc.uchile.cl>)
"La tristeza es un muro entre dos jardines" (Khalil Gibran)


pgsql-hackers by date:

Previous
From: Bruno Wolff III
Date:
Subject: Re: Query optimizer 8.0.1 (and 8.0)
Next
From: Tom Lane
Date:
Subject: Re: float4 regression test failed on linux parisc