From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> |
Cc: | PostgreSQL-development <pgsql-hackers(at)postgreSQL(dot)org> |
Subject: | Re: Vacuum only with 20% old tuples |
Date: | 2000-07-12 02:06:54 |
Message-ID: | 12045.963367614@sss.pgh.pa.us |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
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.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Philip Warner | 2000-07-12 02:15:09 | Re: Insert..returning (was Re: Re: postgres TODO) |
Previous Message | Hiroshi Inoue | 2000-07-12 01:55:42 | RE: Re: postgres TODO |