Re: extending relations more efficiently

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Alvaro Herrera <alvherre@commandprompt.com>, Jeroen Vermeulen <jtv@xs4all.nl>, Andres Freund <andres@anarazel.de>, Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2012-05-02T16:45:35Z
Lists: pgsql-hackers
Robert Haas <robertmhaas@gmail.com> writes:
> On Wed, May 2, 2012 at 12:26 PM, Alvaro Herrera
> <alvherre@commandprompt.com> wrote:
>> Hm.  I see those two things as different -- to me, bloat is unremoved
>> dead tuples, whereas slack space would be free space that can be reused
>> by new tuples.  Slack space is useful as it avoids relation extension;
>> bloat is not.

> I guess I think of bloat as including both unremoved dead tuples and
> unwanted internal free space.  If you create a giant table, delete 9
> out of every 10 tuples, and vacuum, the table is still "bloated", IMV.

The difficulty is to tell the difference between useless free space and
useful free space.  If there's a reasonable probability of putting new
data into a given chunk of free space in the near future, it's not
bloat.

			regards, tom lane