Re: ALTER TABLE ADD COLUMN column SERIAL -- unexpected results

Поиск
Список
Период
Сортировка
От Hiroshi Inoue
Тема Re: ALTER TABLE ADD COLUMN column SERIAL -- unexpected results
Дата
Msg-id 3B54D35C.2238D41A@tpf.co.jp
обсуждение исходный текст
Ответ на Re: ALTER TABLE ADD COLUMN column SERIAL -- unexpected results  (Hiroshi Inoue <Inoue@tpf.co.jp>)
Список pgsql-hackers
Tom Lane wrote:
> 
> Hiroshi Inoue <Inoue@tpf.co.jp> writes:
> > Christopher Kings-Lynne wrote:
> >> Just out of interest, is there a special reason it's difficult to implement
> >> the DEFAULT feature of alter table add column?
> 
> > Without *DEFAULT* we don't have to touch the table file
> > at all. With *DEFAULT* we have to fill the new column
> > with the *DEFAULT* value for all existent rows.
> 
> Do we?  We could simply declare by fiat that the behavior of ALTER ADD
> COLUMN is to fill the new column with nulls.  Let the user do an UPDATE
> to fill the column with a default, if he wants to. 

I don't like to fill the column of the existent rows but
it seems to be the spec.

> After all, I'd not
> expect that an ALTER that adds a DEFAULT spec to an existing column
> would go through and replace existing NULL entries for me.
> 
> This is a little trickier if one wants to make a NOT NULL column,
> however.  Seems the standard technique for that could be
> 
>         ALTER tab ADD COLUMN newcol without the not null spec;
>         UPDATE tab SET newcol = something;
>         ALTER tab ALTER COLUMN newcol ADD CONSTRAINT NOT NULL;
> 

Yes I love this also.

regards,
Hiroshi Inoue


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Bill Studenmund
Дата:
Сообщение: Re: pg_depend
Следующее
От: Hiroshi Inoue
Дата:
Сообщение: Re: pg_depend