On Fri, Apr 28, 2006 at 17:37:30 +0000,
Bealach-na Bo <bealach_na_bo@hotmail.com> wrote:
> >The above shows that the indexes contained 10M rows and 160M of dead
> >space each. That means you weren't vacuuming nearly enough.
>
> How is it that a row in the table can grow to a size far exceeding the sum
> of the maximum sized of the fields it consists of?
Because unless you run vacuum, the old deleted rows are not reused. Those
rows cannot be deleted immediately, because the rows may be visible to
other transactions. Periodic vacuums are used to find deleted rows which
are no longer visible to any transactions.
You probably want to read the following:
http://developer.postgresql.org/docs/postgres/routine-vacuuming.html