From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Kumar S <ps_postgres(at)yahoo(dot)com> |
Cc: | pgsql-novice(at)postgresql(dot)org |
Subject: | Re: Creating a new column with SERIAL as data type |
Date: | 2004-09-20 03:32:21 |
Message-ID: | 2066.1095651141@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-novice |
Kumar S <ps_postgres(at)yahoo(dot)com> writes:
> friends=> alter table friend add column fr_id serial;
> NOTICE: ALTER TABLE will create implicit sequence "friend_fr_id_seq" for "serial" column "friend.fr_id"
> ERROR: adding columns with defaults is not implemented
> HINT: Add the column, then use ALTER TABLE SET DEFAULT.
> Can any one suggest what is wrong here.
Just what it says: adding columns with defaults is not implemented.
(It is implemented in 8.0, but that won't help you today.) You can
do it by hand:
create sequence friend_fr_id_seq;
alter table friend add column fr_id int;
update friend set fr_id = nextval('friend_fr_id_seq');
alter table friend alter column fr_id set default nextval('friend_fr_id_seq');
This isn't an exact substitute since the sequence will appear as
a standalone object and not be hidden behind the "serial" column,
but it's functionally equivalent.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Kumar S | 2004-09-20 04:18:59 | Re: Creating a new column with SERIAL as data type |
Previous Message | Kumar S | 2004-09-20 02:15:21 | Creating a new column with SERIAL as data type |