Re: vacuum full table - internals in 8.3

From: "Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov>
To: "Kieren Scott" <kierenscott(at)hotmail(dot)com>, <pgsql-admin(at)postgresql(dot)org>
Subject: Re: vacuum full table - internals in 8.3
Date: 2010-10-05 16:35:14
Message-ID: 4CAB0D720200002500036534@gw.wicourts.gov
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Kieren Scott <kierenscott(at)hotmail(dot)com> wrote:

> Could you explain what causes index bloat when running vacuum
> full?

To collapse the space, it copies tuples to locations closer to the
front of the table. The index needs to contain references to the
old and new tuple copies until the VACUUM FULL commits or rolls
back. VACUUM FULL doesn't attempt to reorganize the index or free
index space, so the space previously held by index entries pointing
to the old tuples (if you commit) or the new tuples (if you roll
back) will be dead space. It may be reused by later index
insertions, but the empty space is likely to cause a lot of
partially-filled blocks to bog down performance unless there is a
REINDEX.

-Kevin

In response to

Browse pgsql-admin by date

  From Date Subject
Next Message A J 2010-10-05 17:51:18 Re: ECPG: AUTOCOMMIT and CURSORs
Previous Message Kieren Scott 2010-10-05 15:56:55 Re: vacuum full table - internals in 8.3