| 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: | Whole Thread | Raw Message | 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? |