Re: Proposal: Multiversion page api (inplace upgrade)

From: Zdenek Kotala <Zdenek(dot)Kotala(at)Sun(dot)COM>
To: Heikki Linnakangas <heikki(at)enterprisedb(dot)com>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Proposal: Multiversion page api (inplace upgrade)
Date: 2008-06-11 15:42:54
Message-ID: 484FF27E.8040904@sun.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Heikki Linnakangas napsal(a):
> Zdenek Kotala wrote:
>> 4) Implementation
>>
>> The main point of implementation is to have several version of
>> PageHeader structure (e.g. PageHeader_04, PageHeader_03 ...) and
>> correct structure will be handled in special branch (see examples).
>
> (this won't come as a surprise as we talked about this in PGCon, but) I
> think we should rather convert the page structure to new format in
> ReadBuffer the first time a page is read in. That would keep the changes
> a lot more isolated.

I agree with Tom's reply. And anyway this approach will be mostly isolated into
page.c and you need to able read old page in both cases.

> Note that you need to handle not only page header changes, but changes
> to internal representations of different data types, and changes like
> varvarlen and combocid. Those are things that have happened in the past;
> in the future, I'm foreseeing changes to the toast header, for example,
> as there's been a lot of ideas related to toast options compression.

I know, this is a first small step for inplace upgrade. Tupleheader will follow.
Page structure is basic. I want to split development into small steps, because
it is easy to review.

Zdenek

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Heikki Linnakangas 2008-06-11 15:42:57 Re: Proposal: Multiversion page api (inplace upgrade)
Previous Message Zdenek Kotala 2008-06-11 15:35:17 Re: Proposal: Multiversion page api (inplace upgrade)