Bruce Momjian napsal(a):
> Zdenek Kotala wrote:
>> Tom Lane napsal(a):
>>> Zdenek Kotala <Zdenek.Kotala@Sun.COM> writes:
>>>> Heikki Linnakangas napsal(a):
>>>>> Perhaps we should just add the new attid attribute to the toast table,
>>>>> but mark it as nullable?
>>>> Hmm, It seems to me as a good idea.
>>> No, it's a really horrid idea. Nullable attributes complicate the C
>>> code, and what in the world are we buying with it anyway? Just decide
>>> what the field should contain and put it in there.
>> The problem what we try to solve is to perform this change during upgrade from
>> 8.3->8.4. Extra value is a problem because it requires extra space and there is
>> not free space. It is temporal solution(hack) for 8.3->8.4.
>
> Once we have the 'require free space' capability in a major Postgres
> release, can't we use that to make space for the new TOAST field we will
> need?
>
The problem is between 8.3 and 8.4. Unfortunately 8.3 does not have this
capability. And if it will be backported then space reservation on toast table
will be too expensive - you need to move one tuple which usually has BLCKSZ/4).
Zdenek