Re: Consulta

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

In response to

Browse pgsql-es-ayuda by date

  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