converting unique index into primary key

Started by Ed L.over 21 years ago2 messagesgeneral
Jump to latest
#1Ed L.
pgsql@bluepolka.net

I need to convert an existing unique index on a very heavily inserted table
into a primary key. Alter table works, but locks the table for too long.
As a hack, can I just set pg_index.indisprimary = 't' and
pg_constraint.contype = 'p' for the appropriate row in each? This is for
7.4.6 and 8.0beta3...

TIA...

Ed

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Ed L. (#1)
Re: converting unique index into primary key

"Ed L." <pgsql@bluepolka.net> writes:

I need to convert an existing unique index on a very heavily inserted table
into a primary key. Alter table works, but locks the table for too long.
As a hack, can I just set pg_index.indisprimary = 't' and
pg_constraint.contype = 'p' for the appropriate row in each? This is for
7.4.6 and 8.0beta3...

Don't forget to make the underlying columns notnull, too.

regards, tom lane