Re: [WIP] In-place upgrade - Mailing list pgsql-hackers

From Zdenek Kotala
Subject Re: [WIP] In-place upgrade
Date
Msg-id 4911FA2D.2070303@sun.com
Whole thread Raw
In response to Re: [WIP] In-place upgrade  (Martijn van Oosterhout <kleptog@svana.org>)
Responses Re: [WIP] In-place upgrade  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: [WIP] In-place upgrade  ("Robert Haas" <robertmhaas@gmail.com>)
List pgsql-hackers
Martijn van Oosterhout napsal(a):
> On Wed, Nov 05, 2008 at 03:04:42PM +0100, Zdenek Kotala wrote:
>> Greg Stark napsal(a):
>> It is exceptional case between V3 and V4 and only on heap, because you save 
>> in varlena. But between V4 and V5 we will lost another 4 bytes in a page 
>> header -> page header will be 28 bytes long but tuple size is same.
>>
>> Try to get raw free space on each page in 8.3 database and you probably see 
>> a lot of pages where free space is 0. My last experience is something about 
>> 1-2% of pages.
> 
> Is this really such a big deal? You do the null-update on the last
> tuple of the page and then you do have enough room. So Phase one moves
> a few tuples to make room. Phase 2 actually converts the pages inplace.

Problem is how to move tuple from page to another and keep indexes in sync. One 
solution is to perform some think like "update" operation on the tuple. But you 
need exclusive lock on the page and pin counter have to be zero. And question is 
where it is safe operation.
Zdenek


-- 
Zdenek Kotala              Sun Microsystems
Prague, Czech Republic     http://sun.com/postgresql



pgsql-hackers by date:

Previous
From: Heikki Linnakangas
Date:
Subject: Toast bug in CVS HEAD
Next
From: Heikki Linnakangas
Date:
Subject: A bug with ALTER TABLE SET WITHOUT OIDS in CVS HEAD