Re: Is there a way to make VACUUM run completely outside

From: Hannu Krosing <hannu(at)tm(dot)ee>
To: Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Is there a way to make VACUUM run completely outside
Date: 2005-02-09 06:29:17
Message-ID: 1107930557.6647.2.camel@fuji.krosing.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Ühel kenal päeval (teisipäev, 8. veebruar 2005, 13:39-0300), kirjutas
Alvaro Herrera:
> 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.

Exactly. That's what I was trying to describe in my original post.

--
Hannu Krosing <hannu(at)tm(dot)ee>

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Dave Page 2005-02-09 07:06:28 Re: How can I use large object on PostgreSQL Linux
Previous Message Tom Lane 2005-02-09 05:48:34 Re: "external indices" ...