Gurjeet Singh wrote:
> On Tue, Sep 30, 2008 at 4:49 PM, Heikki Linnakangas <
> heikki(dot)linnakangas(at)enterprisedb(dot)com> wrote:
>> Gurjeet Singh wrote:
>>> On Tue, Sep 30, 2008 at 3:09 PM, Heikki Linnakangas <
>>> heikki(dot)linnakangas(at)enterprisedb(dot)com> wrote:
>>>> That's normal. VACUUM FULL creates new index pointers for the tuples it
>>>> moves, which can lead to a bigger index. If it bothers, REINDEX will pack
>>>> the indexes tighter again.
>>> That explains it... and yes, REINDEX did bring the index size back to
>>> Would it make sense to mention this in docs of VACUUM FULL? Either at
>>> or at
>> Yeah, maybe. Want to suggest a wording?
> VACUUM FULL may cause a noticeable increase in size of the indexes of the
> tables that are vacuumed; this is because the VACUUM operation makes new
> entries in the index for the tuples/rows that have just been moved.
> VACUUM FULL may cause a noticeable increase in size of the indexes, that are
> on the tables being vacuumed; this is because the VACUUM operation makes
> new entries in the index for the tuples/rows that have just been moved.
> Followed By:
> An appropriate REINDEX command (REINDEX database|table|index ) can reduce
> the size of such indexes.
> I think it makes sense to put this on both the above mentioned URLs.
Looking closer, we do already have this in the 8.4devel version of the docs:
"... Another disadvantage of VACUUM FULL is that while it reduces table
size, it does not reduce index size proportionally; in fact it can make
and in the next section:
"... Also, moving a row requires transiently making duplicate index
entries for it (the entry pointing to its new location must be made
before the old entry can be removed); so moving a lot of rows this way
causes severe index bloat. "
In response to
pgsql-hackers by date
|Next:||From: Merlin Moncure||Date: 2008-09-30 16:59:41|
|Subject: Re: Function management in PG|
|Previous:||From: Dave Page||Date: 2008-09-30 14:00:51|
|Subject: Re: FSM rewrite committed, loose ends|