Re: ALTER TABLE

Поиск
Список
Период
Сортировка
От Hannu Krosing
Тема Re: ALTER TABLE
Дата
Msg-id 1062145331.3372.24.camel@fuji.krosing.net
обсуждение исходный текст
Ответ на ALTER TABLE  (Rod Taylor <rbt@rbt.ca>)
Ответы Re: ALTER TABLE  (Rod Taylor <rbt@rbt.ca>)
Список pgsql-hackers
Rod Taylor kirjutas R, 29.08.2003 kell 03:31:
> I've been fiddling away on ALTER TABLE and have a few questions about a
> possible datatype change. Just alter portions.
> 
> I presume I'll need to do a table rewrite. What is the best way to
> change a single datum?  heap_modify() takes a single relation type where
> I will need to deal with different types.  Simply build a new tuple with
> old datums (easy enough)? Do we care about OIDs being renumbered?

AFAIK alter table change column should do the equivalent of

alter table x add column temp_name newdatatype;
update table x set temp_name=convert(name);
alter table x drop colum name;
alter table x rename column temp_name to name;

This should not renumber OIDS.

> ALTER TABLE test ADD CHECK(col > 4),
>     add column bob integer default 2 not null,
>     add column bob2 serial check(bob2 <= 255),
>     drop column col2 cascade;

or with your combined syntax

alter table x   add column temp_name newdatatype = convert(current_name),   drop column current_name,   rename column
temp_nametocurrent_ name;
 

---------------
Hannu



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

Предыдущее
От: Mark Kirkwood
Дата:
Сообщение: Re: Bumping block size to 16K on FreeBSD...
Следующее
От: Andreas Pflug
Дата:
Сообщение: Re: Weird constraint output