From: | Scott Marlowe <scott(dot)marlowe(at)gmail(dot)com> |
---|---|
To: | Carol Walter <walterc(at)indiana(dot)edu> |
Cc: | pgsql-admin(at)postgresql(dot)org |
Subject: | Re: Primary key on existing table? |
Date: | 2009-08-25 22:25:19 |
Message-ID: | dcc563d10908251525m66d1dc51p5a674bd015005de6@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-admin |
On Tue, Aug 25, 2009 at 2:25 PM, Carol Walter<walterc(at)indiana(dot)edu> wrote:
> This may be a silly question but I don't see any place where the
> documentation explicitly addresses whether or not you can designate a
> particular column as a primary key after the table is created. I used the
> "create table as " syntax to create a table with the same columns as an
> original table, but I want to rename id column, make it a serial, and
> designate it as a primary key. Is it possible to do this? I've tried a
> number of things to do this and none of them have worked.
This is an alter. Look up alter table, and look for constraints.
Standard format would look like this:
create table xyz (i int, t text);
ALTER TABLE / ADD PRIMARY KEY will create implicit index "xyz_pk" for
table "xyz"
ALTER TABLE
smarlowe=> \d xyz
Table "public.xyz"
Column | Type | Modifiers
--------+---------+-----------
i | integer | not null
t | text |
Indexes:
"xyz_pk" PRIMARY KEY, btree (i)
From | Date | Subject | |
---|---|---|---|
Next Message | Patrick | 2009-08-25 23:01:55 | Re: Primary key on existing table? |
Previous Message | Ries van Twisk | 2009-08-25 22:11:09 | Re: Primary key on existing table? |