En la versión 7.4 de postgresql no se puede modificar el tipo de una columna directamente. Una forma de modificar el tipo de una columna es añadir una columna auxiliar, actualizarla con los datos de la columna original cuyo tipo de dato se quiere cambiar, borrar la columna original y renombrar la columna auxiliar con el mismo nombre que tenía la original.
Ejemplo:
alter table tabla add column columna_temporal varchar(50);
update tabla set columna_temporal=pais;
alter table tabla drop column pais;
alter table tabla rename column columna_temporal to pais;
Tags: postgresql
Para poder hacer eso también es posible cambiarlo directamente en las tablas del sistema… ojo, solamente la he probado con tipo VARCHAR.
Ejemplo:
– Columna que antes era de 50, hay que cambiarla a 250.
– ‘pais’ es el nombre de la columna en la tabla ‘tabla’.
– atttypmod = valor + 4
SELECT atttypmod,* FROM pg_attribute
WHERE attname = ‘pais’
AND attrelid = ( SELECT oid FROM pg_class
WHERE relname = ‘tabla’ )
Saludos,
Victor Zurita M.