Ver Mensaje Individual
  #4 (permalink)  
Antiguo 11/10/2006, 12:29
El Patrón.
 
Fecha de Ingreso: abril-2006
Ubicación: Colombia
Mensajes: 648
Antigüedad: 18 años, 1 mes
Puntos: 3
Mensaje Cambio de campo

¿estás usando la versión 8.0?, si es así es tan simple como usar
>
> ALTER TABLE table ALTER COLUMN column TYPE newtype;
>
> Si no es así entonces es un poco más truculento, necesitas algo como:
>
> BEGIN;
> ALTER TABLE table ADD COLUMN tmp tipo-nuevo;
> UPDATE table SET tmp = column;
> ALTER TABLE table DROP COLUMN column;
> ALTER TABLE table RENAME COLUMN tmp TO column;
> COMMIT;

Pequeña acotación:

El segundo caso desordena las columnas. O sea, si la tabla tiene 4 columnas y
queres cambiar el tipo de la columna 2, esta te aparecera ultima en la nueva
tabla. Sutilezas si las hay. No he probado PG8 aun, pero creo que las
columnas que en el mismo orden.