Thread: Add Primary Key to a Table

Add Primary Key to a Table

From
"Tom Haddon"
Date:
Hi Folks,

I'm trying to use the ALTER TABLE command to add a primary key to a table.

The command I am using is:

ALTER TABLE "agency_contact_info" ADD CONSTRAINT "agency_contact_info_pkey"
PRIMARY KEY ("id");

I get a message saying "ALTER TABLE / ADD CONSTRAINT not implemented for
that constraint type". Is this a bug, or am I doing something wrong?


The reason I am trying to do this is that I want to split a table with a
large number of fields up into a few tables with a sub-set of fields from
the original table, linked by FOREIGN KEY on "id". I had thought the best
way to do this was to use SELECT INTO and then try to alter the tables to
include PRIMARY and FOREIGN keys where applicable. Is there a better way to
do this?

Thanks, Tom

_______________________________
Tom Haddon
IT Director
The Better Health Foundation
414 Thirteenth Street, Suite 450
Oakland, CA 94612
(510) 444-5096
www.betterhealthfoundation.org
_______________________________



Re: Add Primary Key to a Table

From
Josh Berkus
Date:
Tom,

> ALTER TABLE "agency_contact_info" ADD CONSTRAINT "agency_contact_info_pkey"
> PRIMARY KEY ("id");
>
> I get a message saying "ALTER TABLE / ADD CONSTRAINT not implemented for
> that constraint type". Is this a bug, or am I doing something wrong?

What version are you using?  That command is supported with Postgres 7.2, but
not with earlier versions.

--
-Josh BerkusAglio Database SolutionsSan Francisco



Re: Add Primary Key to a Table

From
"Tom Haddon"
Date:
Hi Josh,

I think that solves it for me - I'm using 7.1.3 - will upgrade
appropriately.

Thanks, Tom

-----Original Message-----
From: Josh Berkus [mailto:josh@agliodbs.com]
Sent: Friday, August 02, 2002 4:20 PM
To: Tom Haddon; pgsql-sql@postgresql.org
Subject: Re: [SQL] Add Primary Key to a Table



Tom,

> ALTER TABLE "agency_contact_info" ADD CONSTRAINT
"agency_contact_info_pkey"
> PRIMARY KEY ("id");
>
> I get a message saying "ALTER TABLE / ADD CONSTRAINT not implemented for
> that constraint type". Is this a bug, or am I doing something wrong?

What version are you using?  That command is supported with Postgres 7.2,
but
not with earlier versions.

--
-Josh BerkusAglio Database SolutionsSan Francisco