Re: Primary key on existing table? - Mailing list pgsql-admin

From Scott Marlowe
Subject Re: Primary key on existing table?
Date
Msg-id dcc563d10908251525m66d1dc51p5a674bd015005de6@mail.gmail.com
Whole thread Raw
In response to Primary key on existing table?  (Carol Walter <walterc@indiana.edu>)
Responses Re: Primary key on existing table?  (Carol Walter <walterc@indiana.edu>)
List pgsql-admin
On Tue, Aug 25, 2009 at 2:25 PM, Carol Walter<walterc@indiana.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)

pgsql-admin by date:

Previous
From: Ries van Twisk
Date:
Subject: Re: Primary key on existing table?
Next
From: Patrick
Date:
Subject: Re: Primary key on existing table?