TOAST code ignores freespace (was Tweak TOAST code) - Mailing list pgsql-hackers

From Simon Riggs
Subject TOAST code ignores freespace (was Tweak TOAST code)
Date
Msg-id 1272804345.4161.31190.camel@ebony
Whole thread Raw
Responses Re: TOAST code ignores freespace (was Tweak TOAST code)
List pgsql-hackers
On Wed, 2009-07-22 at 01:21 +0000, Tom Lane wrote:

> Tweak TOAST code so that columns marked with MAIN storage strategy are
> not forced out-of-line unless that is necessary to make the row fit on a
> page.  Previously, they were forced out-of-line if needed to get the row
> down to the default target size (1/4th page).

A comment from Selena made me notice this patch from last year.

I notice that this patch might result in longer rows in the heap, which
in many cases is good. For updates, it can result in a row too large to
fit on the current block and for us to move block to one in which it
will fit.

Not commenting further on that patch, but I notice that when we UPDATE
the toasting algorithm takes no account of the available freespace on
the current block. If we are updating and the space available would make
a difference to the row length chosen, it seems like it would be more
beneficial to trim the row and encourage HOT updates.

-- Simon Riggs           www.2ndQuadrant.com



pgsql-hackers by date:

Previous
From: Simon Riggs
Date:
Subject: Further Hot Standby documentation required
Next
From: Simon Riggs
Date:
Subject: Re: pg_start_backup and pg_stop_backup Re: Re: [COMMITTERS] pgsql: Make CheckRequiredParameterValues() depend upon correct