Обсуждение: Converting an existing table?

Поиск
Список
Период
Сортировка

Converting an existing table?

От
"Zot O'Connor"
Дата:
I need to change the type on an existing table.  From money to something
else.

What is the best way under postgres?

I could do a query and put it in a new field and then rename the old
field, and then rename the new field.

I then have the old (renamed) field hanging around.  Is there a cleaner
way of doing this?

I also need to change the length of a variable length field.

-- 
Zot O'Connor

www.ZotConsulting.com
www.WhiteKnightHackers.com


Re: [SQL] Converting an existing table?

От
Tom Lane
Дата:
"Zot O'Connor" <zot@zotconsulting.com> writes:
> I need to change the type on an existing table.  From money to something
> else.
> What is the best way under postgres?

Probably the best way at the moment is:

1. Create new table with the desired column declarations, using a
different table name.

2. Use INSERT ... SELECT ... to copy the data from old table to new,
with any transformations needed.

3. When you are happy with the contents of the new table, drop the
old table and ALTER TABLE RENAME to rename the new table to the
original table name.
        regards, tom lane