From: | Martín Marqués <martin(at)bugs(dot)unl(dot)edu(dot)ar> |
---|---|
To: | Manuel Sugawara <masm(at)fciencias(dot)unam(dot)mx> |
Cc: | mmelendez(at)novatronic(dot)com, pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Consulta |
Date: | 2005-02-16 11:28:03 |
Message-ID: | 200502160828.05020.martin@bugs.unl.edu.ar |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
El Mar 15 Feb 2005 21:55, Manuel Sugawara escribió:
> Marcial Meléndez García <mmelendez(at)novatronic(dot)com> writes:
> >
> > Tengo una tabla con mas o menos unos 10,000 registros sobre Postgres y
> > deseo cambiar el tamaño de un campo específico. He probado con la
> > sentencia ALTER TABLE, sin embargo, no puedo ubicar la sentencia que me
> > permita hacer esta extensión del tamaño del 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.
--
08:24:48 up 156 days, 22:19, 2 users, load average: 1.57, 0.79, 0.69
-----------------------------------------------------------------
Martín Marqués | select 'mmarques' || '@' || 'unl.edu.ar'
Centro de Telematica | DBA, Programador, Administrador
Universidad Nacional
del Litoral
-----------------------------------------------------------------
From | Date | Subject | |
---|---|---|---|
Next Message | Edwin Quijada | 2005-02-16 13:28:06 | RE: Uso de Procesadores |
Previous Message | Martín Marqués | 2005-02-16 11:24:09 | Re: Consulta |