Re: Column storage positions

From: "Phil Currier" <pcurrier(at)gmail(dot)com>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Column storage positions
Date: 2007-02-21 14:25:09
Message-ID: c58979e50702210625m677291e8x8836a0d1b9fb9de5@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 2/21/07, Alvaro Herrera <alvherre(at)commandprompt(dot)com> wrote:
> I'd expect the system being able to reoder the columns to the most
> efficient order possible (performance-wise and padding-saving-wise),
> automatically. When you create a table, sort the columns to the most
> efficient order; ALTER TABLE ADD COLUMN just puts the new columns at the
> end of the tuple; and anything that requires a rewrite of the table
> (ALTER TABLE ... ALTER TYPE for example; would be cool to have CLUSTER
> do it as well; and do it on TRUNCATE also) again recomputes the most
> efficient order.

That's exactly what I'm proposing. On table creation, the system
chooses an efficient column order for you. The next time an ALTER
TABLE operation forces a rewrite, the system would recompute the
column storage order. I hadn't thought of having CLUSTER also redo
the storage order, but that seems safe since it takes an exclusive
lock on the table. I'm less sure about whether it's safe to do this
during a TRUNCATE.

phil

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Markus Schiltknecht 2007-02-21 14:32:12 Re: tsearch in core patch, for inclusion
Previous Message Alvaro Herrera 2007-02-21 14:14:01 Re: New feature request: FlashBack Query