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