Re: Vacuum only with 20% old tuples

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Vacuum only with 20% old tuples
Дата
Msg-id 12045.963367614@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Vacuum only with 20% old tuples  (Bruce Momjian <pgman@candle.pha.pa.us>)
Ответы Re: Vacuum only with 20% old tuples  (Bruce Momjian <pgman@candle.pha.pa.us>)
RE: Vacuum only with 20% old tuples  ("Hiroshi Inoue" <Inoue@tpf.co.jp>)
Re: Vacuum only with 20% old tuples  (The Hermit Hacker <scrappy@hub.org>)
Список pgsql-hackers
Bruce Momjian <pgman@candle.pha.pa.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


В списке pgsql-hackers по дате отправления:

Предыдущее
От: "Hiroshi Inoue"
Дата:
Сообщение: RE: Re: postgres TODO
Следующее
От: Philip Warner
Дата:
Сообщение: Re: Insert..returning (was Re: Re: postgres TODO)