Re: does vacuum rebuild index? - Mailing list pgsql-general

From Tom Lane
Subject Re: does vacuum rebuild index?
Date
Msg-id 2612.960844812@sss.pgh.pa.us
Whole thread Raw
In response to does vacuum rebuild index?  (mikeo <mikeo@spectrumtelecorp.com>)
List pgsql-general
mikeo <mikeo@spectrumtelecorp.com> writes:
>  we have a 34 million row table.  after many inserts, updates, deletes
> the performance degraded so we vacuumed the table.  the output indicated
> that the index was also vacuumed but the size didn't change. it was still
> 80m so we dropped and recreated it reducing it to 20m.

This is in the FAQ isn't it?  VACUUM removes unused index entries but it
doesn't reduce the physical size of the index file.  There's an item on
the TODO list to fix that, but for now a lot of people are in the habit
of doing
    drop indexes;
    vacuum;
    recreate indexes;

This is often faster than what vacuum does, so there's been talk of
changing vacuum to work that way, but there's concern about what happens
if vacuum crashes before it's rebuilt the indexes... at least with the
delete-unused-entries approach you aren't left with an incomplete index.

            regards, tom lane

pgsql-general by date:

Previous
From: Trurl McByte
Date:
Subject: Hmm... Yet another bug:
Next
From: Palle Girgensohn
Date:
Subject: Re: FreeBSD PostgreSQL7 port and v7.0.2