Re: ALTER TABLE DROP COLUMN

From: The Hermit Hacker <scrappy(at)hub(dot)org>
To: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Hiroshi Inoue <Inoue(at)tpf(dot)co(dot)jp>, PostgreSQL Development <pgsql-hackers(at)postgreSQL(dot)org>
Subject: Re: ALTER TABLE DROP COLUMN
Date: 2000-10-09 21:36:05
Message-ID: Pine.BSF.4.21.0010091833020.625-100000@thelab.hub.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, 9 Oct 2000, Bruce Momjian wrote:

> > > > Sorry, that's what I meant ... why should marking a column as 'deleted'
> > > > and running a 'vacuum' to clean up the physical table be any less
> > > > crash-safe?
> > >
> > > It is not. The only downside is 2x disk space to make new versions of
> > > the tuple.
> >
> > huh? vacuum moves/cleans up tuples, as well as compresses them, so that
> > the end result is a smaller table then what it started with, at/with very
> > little increase in the total size/space needed to perform the vacuum ...
> >
> > if we reduced vacuum such that it compressed at the field level vs tuple,
> > we could move a few tuples to the end of the table (crash safe) and then
> > move N+1 to position 1 minus that extra field. If we mark the column as
> > being deleted, then if the system crashes part way through, it should be
> > possible to continue after the system is brought up, no?
>
> If it crashes in the middle, some rows have the column removed, and some
> do not.

hrmm .. mvcc uses a timestamp, no? is there no way of using that
timestamp to determine which columns have/haven't been cleaned up
following a crash? maybe some way of marking a table as being in a 'drop
column' mode, so that when it gets brought back up again, it is scan'd for
any tuples older then that date?

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2000-10-09 21:43:50 Re: ALTER TABLE DROP COLUMN
Previous Message Bruce Momjian 2000-10-09 21:16:21 Re: ALTER TABLE DROP COLUMN