Re: Vacuum only with 20% old tuples

From: The Hermit Hacker <scrappy(at)hub(dot)org>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Vacuum only with 20% old tuples
Date: 2000-07-12 14:55:16
Message-ID: Pine.BSF.4.21.0007121154320.1325-100000@thelab.hub.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, 11 Jul 2000, Tom Lane wrote:

> Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> writes:
> > I suggest that we change vacuum to only move remove tuples if there is
> > more than 20% expired tuples.
>
> > When we do vacuum, we drop all indexes and recreate them.
>
> > This fixes the complaint about vacuum slowness when there are many
> > expired rows in the table. We know this is causes by excessive index
> > updates. It allows indexes to shrink (Jan pointed this out to me.) And
> > it fixes the TOAST problem with TOAST values in indexes.
>
> We can't "drop and recreate" without a solution to the relation
> versioning issue (unless you are prepared to accept a nonfunctional
> database after a failure partway through index rebuild on a system
> table). I think we should do this, but it's not all that simple...
>
> I do not see what your 20% idea has to do with this, though, nor
> why it's a good idea. If I've told the thing to vacuum I think
> it should vacuum. 20% of a big table could be a lot of megabytes,
> and I don't want some arbitrary decision in the code about whether
> I can reclaim that space or not.

I wouldn't mind seeing some automagic vacuum happen *if* >20% expired
... but don't understand the limit when I tell it to vacuum either ...

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Philip Warner 2000-07-12 14:56:24 RE: [HACKERS] pg_dump & blobs - editable dump?
Previous Message Lamar Owen 2000-07-12 14:38:57 Re: [HACKERS] pg_dump & blobs - editable dump?