Re: An easy question about creating a primary key
Josh Berkus <josh@agliodbs.com>
From: "Josh Berkus" <josh@agliodbs.com>
To: "Ligia Pimentel" <lmpimentel@yahoo.com>, pgsql-sql@postgresql.org
Date: 2001-12-03T19:20:07Z
Lists: pgsql-hackers, pgsql-sql
Ligia,
> I want to create a primary key constraint on an existing table. The
> documentation says I can't . Please confirm. If this is true... How
> can I
> rename the existing table so I can create the new one and copy the
> data?
FYI, this question is more appropriate for the NOVICE list.
You would use the same method that you use to drop and recreate the
table for other reasons:
CREATE TABLE tablea_temp AS
SELECT * FROM tablea;
DROP tablea;
CREATE tablea (
primary_key SERIAL ...
<snip>
);
INSERT INTO tablea (column list)
SELECT (column list) FROM tablea_temp;
And don't forget to re-build your indexes!
-Josh Berkus
______AGLIO DATABASE SOLUTIONS___________________________
Josh Berkus
Complete information technology josh@agliodbs.com
and data management solutions (415) 565-7293
for law firms, small businesses fax 621-2533
and non-profit organizations. San Francisco