Re: Add quto increment to existing column - Mailing list pgsql-general

From Phil Couling
Subject Re: Add quto increment to existing column
Date
Msg-id CANWftzJ1B2129n+39=mjH-O9SFLhWTige2QMwxT=mBeh6cKcnQ@mail.gmail.com
Whole thread Raw
In response to Re: Add quto increment to existing column  (marc_firth <marc.r.firth@gmail.com>)
Responses Re: Add quto increment to existing column  ("Mark Watson" <mark.watson@jurisconcept.ca>)
List pgsql-general
Hi

Dropping the column is a bit drastic if you already have data in there.

You could just set the default on the column:

alter table my_table alter hist_id set default nextval('hist_id_seq')

Also considder setting the sequence owner:
alter sequence hist_id_seq owned by my_table.hist_id;

This will mean if the table or collumn gets dropped so will the
sequence and if the table is moved between schemas, so to will the
sequence be moved.

Regards


On 4 October 2011 14:38, marc_firth <marc.r.firth@gmail.com> wrote:
> If you use the SERIAL (this is the auto-incrementing function that creates
> sequences in the bankground for you) datatype you can accomplish it in one
> go.
>
> So:
> DROP sequence hist_id_seq;  -- Get rid of your old sequence
>
> ALTER TABLE my_table DROP COLUMN hist_id; -- Remove id column
>
> ALTER TABLE my_table ADD COLUMN hist_id SERIAL PRIMARY KEY; -- Recreate it
> as Primary Key and quto-incrementing.
>
> Btw:  have you tried the   http://www.pgadmin.org/ pgadmin  gui for
> postgres?  It will help you do tasks like this and show you the SQL to do it
> on the command line :)
>
> Cheers,
> Marc
>
>
>
> Robert Buckley wrote:
>>
>> Hi,
>>
>> I have a column in a table called hist_id with the datatype "integer".
>> When I created the table I assigned this column the primary key constraint
>> but didn´t make it an auto-increment column.
>>
>> How could I do this to an the already existing column?
>>
>> I have created the sequence with the following command but don´t know how
>> to change the existing column to auto-increment.
>>
>>
>> $ create sequence hist_id_seq;
>>
>> thanks for any help,
>>
>> Rob
>>
>
>
> --
> View this message in context:
http://postgresql.1045698.n5.nabble.com/Add-quto-increment-to-existing-column-tp4868404p4868544.html
> Sent from the PostgreSQL - general mailing list archive at Nabble.com.
>
> --
> Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general
>

pgsql-general by date:

Previous
From: marc_firth
Date:
Subject: Re: Add quto increment to existing column
Next
From: "Mark Watson"
Date:
Subject: Re: Add quto increment to existing column