Re: pg_upgrade: How to deal with toast

From: Zdenek Kotala <Zdenek(dot)Kotala(at)Sun(dot)COM>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: pg_upgrade: How to deal with toast
Date: 2008-11-20 18:21:23
Message-ID: 4925AAA3.80302@sun.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Tom Lane napsal(a):
> Zdenek Kotala <Zdenek(dot)Kotala(at)Sun(dot)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.

Another thing what we can do is to perform "fake" page conversion of heap which
will retoast a toasted value which are present on heap tuples. The toasted table
will contains two kind of tuples, but in normal situation only converted tuples
should be accessed.

Zdenek

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2008-11-20 18:21:59 Re: TODO list request: FK to unique expression indexes
Previous Message Tom Lane 2008-11-20 17:28:01 Re: Re: [COMMITTERS] pgsql: Silence compiler warning about ignored return value.