Re: Online index builds

From: Ragnar <gnari(at)hive(dot)is>
To: Jeff Davis <pgsql(at)j-davis(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Online index builds
Date: 2006-12-07 12:26:04
Message-ID: 1165494364.379.27.camel@localhost.localdomain
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-announce pgsql-general pgsql-www

On mið, 2006-12-06 at 18:22 -0800, Jeff Davis wrote:
> On Wed, 2006-12-06 at 15:00 -0500, Chris Browne wrote:
> > Let me add another question to this; this might possibly be worthy of
> > a TODO for 8.3 or so...
> >
> > What if I wanted to:
> > ALTER TABLE distributors ADD PRIMARY KEY CONCURRENTLY (dist_id);

> Interesting, I was just thinking about this today as well. I am thinking
> it would be nice if we could:
>
> ALTER TABLE SET PRIMARY KEY INDEX foo_pkey;
>
> If it's already got a primary key we switch the primary key to be the
> new primary key
>
> (throwing an error if the columns don't match up to the
> existing primary key,

not sure what you mean by this

> or if it's not unique).

must also be NOT NULL

> If not, the primary key
> attribute is added to the existing index and the columns in the index
> now make up the primary key (throwing an error if the index is not
> unique).

What about existing foreign key constraints ?
as the only function of the PRIMARY key property of an
index is making it the default target of a foreign key
reference, you would have to decide what implications
this has. Possibly none, as I am not sure the foreign
key constraint remembers if the target was a primary key
or not.

also, your proposed syntax muddies the relationship
between the PRIMARY KEY constraint and the existence
of an INDEX. There is no such relationship in the SQL
standards.

possibly more appropriate would be

ALTER TABLE SET PRIMARY KEY (columns)
and an error issued if no UNIQUE NOT NULL index
is found on the relevant columns

one other question is what shuld happen to the original index that was
implicitly created. should it be dropped
automatically ?

gnari

In response to

Responses

Browse pgsql-announce by date

  From Date Subject
Next Message Jeff Davis 2006-12-07 17:27:26 Re: Online index builds
Previous Message Jeff Davis 2006-12-07 02:22:32 Re: Online index builds

Browse pgsql-general by date

  From Date Subject
Next Message Zoltan Boszormenyi 2006-12-07 12:40:22 Re: Internal function call from C-language function
Previous Message Hannes Dorbath 2006-12-07 12:20:03 Re: Tsearch2 / PG 8.2 Which stemmer files?

Browse pgsql-www by date

  From Date Subject
Next Message Javier Molina 2006-12-07 13:39:39 Re: 8.2.0 pdf
Previous Message Kris Jurka 2006-12-07 11:29:05 Re: 8.2.0 pdf