bruce wrote: > Jeff Davis wrote: > > On Thu, 2006-12-07 at 18:11 -0500, Tom Lane wrote: > > > Jeff Davis <pgsql@xxxxxxxxxxx> writes: > > > > I think all you need to do what you want is something like: > > > > ALTER TABLE foo DROP CONSTRAINT foo_pkey KEEP INDEX; > > > > > > > Because then you could drop the primary key status on a column without > > > > affecting the column or the index, then use my suggested syntax to > > > > switch the primary key status to a different index like so: > > > > ALTER TABLE foo SET PRIMARY KEY INDEX foo_othercolumn_index; > > > > > > That seems like an awful lot of uglification simply to let the index be > > > marked as "primary key" rather than just "unique". > > > > > > > Agreed. It's just a thought. > > > > The reason it came to my mind is because some applications, like Slony, > > use the primary key by default. > > > > After reading through the archives, it looks like Gregory Stark > > suggested a REINDEX CONCURRENTLY, which would certainly solve the > > awkwardness of maintenance on a primary key. I didn't see much > > objection, maybe it's worth consideration for 8.3? > > Added to TODO: > > * Allow REINDEX CONCURRENTLY Oops, removed. Seems there is a deadlock issue. -- Bruce Momjian bruce@xxxxxxxxxx EnterpriseDB http://www.enterprisedb.com + If your life is a hard drive, Christ can be your backup. +