Cambiar tamaño de columna de una tabla en postgres

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;

VN:F [1.9.1_1087]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.1_1087]
Rating: 0 (from 0 votes)

Tags:

One Response to “Cambiar tamaño de columna de una tabla en postgres”

  1. 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.

    VA:F [1.9.1_1087]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.1_1087]
    Rating: 0 (from 0 votes)

Leave a Reply