Re: Primary key on existing table?

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)

In response to

Responses

Browse pgsql-admin by date

  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?