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? Regards, Jeff Davis