Re: ALTER TABLE DROP COLUMN - Mailing list pgsql-hackers

From Chris Bitmead
Subject Re: ALTER TABLE DROP COLUMN
Date
Msg-id 39457A7B.B1B8B48A@nimrod.itg.telecom.com.au
Whole thread Raw
In response to Re: ALTER TABLE DROP COLUMN  (Bruce Momjian <pgman@candle.pha.pa.us>)
List pgsql-hackers
Yes, it would need to work as you describe below. Such a scheme is used
in several object databases I know of. (Versant being one) where it
works great. It's not just useful for drop column, but also things like
add column with default value. It means that you can add and drop
columns to your hearts content in the blink of an eye, and yet
ultimately not pay the price in terms of storage costs.

But yep, it's a lot more work, and understandable if there isn't
enthusiasm for doing it.

Tom Lane wrote:
> 
> Chris Bitmead <chris@bitmead.com> writes:
> > I don't know if this is one of the 5, but my idea of a good
> > implementation is to do the fast invisible approach, and then update
> > individual tuples to the new format the next time they happen to be
> > UPDATEd.
> 
> How would you tell whether a particular tuple has been updated or not?
> 
> Furthermore, how would you remember the old tuple format (or formats)
> so that you'd know how to make the conversion?
> 
> Seems to me this approach would require adding some sort of table
> version number to every tuple header, plus storing a complete set of
> system catalog entries for every past version of each table's schema.
> That's a heck of a high price, in both storage and complexity, for a
> feature of dubious value...


pgsql-hackers by date:

Previous
From: Don Baccus
Date:
Subject: Re: Proposal: TRUNCATE TABLE table RESTRICT
Next
From: Chris Bitmead
Date:
Subject: Re: ALTER TABLE DROP COLUMN