Re: TOAST code ignores freespace (was Tweak TOAST code)

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: TOAST code ignores freespace (was Tweak TOAST code)
Дата
Msg-id 10783.1272810883@sss.pgh.pa.us
обсуждение исходный текст
Ответ на TOAST code ignores freespace (was Tweak TOAST code)  (Simon Riggs <simon@2ndQuadrant.com>)
Ответы Re: TOAST code ignores freespace (was Tweak TOAST code)  (Simon Riggs <simon@2ndQuadrant.com>)
Re: TOAST code ignores freespace (was Tweak TOAST code)  (Jan Wieck <JanWieck@Yahoo.com>)
Список pgsql-hackers
Simon Riggs <simon@2ndQuadrant.com> writes:
> 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.

That doesn't strike me as a terribly good idea: it would make the
behavior of TOAST significantly more difficult to predict.  Also, what
happens if we force a row to a smaller size and then it doesn't fit
anyway (eg because someone else inserted another row on the page while
we were busy doing this)?  Spend even more cycles to un-toast back to
the normal size, to be consistent with ordinary cross-page updates?

Pretty much every previous discussion of tweaking the TOAST behavior
has focused on giving the user more control (indeed, the patch you
mention could be seen as doing that).  What you're suggesting here
would give the user less control, as well as less predictability.
        regards, tom lane


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: pg_migrator to /contrib in a later 9.0 beta
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: pg_migrator to /contrib in a later 9.0 beta