Re: What does Page Layout version mean? (Was: Re: Reducing NUMERIC size for 8.3)

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Heikki Linnakangas <heikki(at)enterprisedb(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org, Zdenek Kotala <Zdenek(dot)Kotala(at)Sun(dot)COM>, Andrew Sullivan <ajs(at)crankycanuck(dot)ca>
Subject: Re: What does Page Layout version mean? (Was: Re: Reducing NUMERIC size for 8.3)
Date: 2007-06-21 18:31:16
Message-ID: 2012.1182450676@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Heikki Linnakangas <heikki(at)enterprisedb(dot)com> writes:
> * Page format changes that grow data size are problematic, because there
> can be pages that can't be expanded to the new format because there's
> not enough space. However, it would be possible to write a pre-upgrade
> program to look for the problematic pages, and do a dummy UPDATE on some
> tuples to move them away from such pages, to make room. The pre-upgrade
> program could be run while the old database is still up, so it doesn't
> cause downtime.

That sounds good, but there are corner cases where it wouldn't work ---
consider a page containing a single maximum-length tuple.

In general I don't see us accepting changes that would increase data
size, but there's at least one troubling exception on the horizon:
per-column or per-value locale support. Another problem is that a strict
rule of "no data size increase ever" might forbid acceptance of changes
that achieve average space savings at the cost of increasing the size of
some lesser-used cases.

In short, this point seems to need more thought.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Hannu Krosing 2007-06-21 19:54:42 Re: tsearch in core patch
Previous Message Teodor Sigaev 2007-06-21 17:44:33 tsearch in core patch