From: | Gunnar Wolf <gwolf(at)campus(dot)iztacala(dot)unam(dot)mx> |
---|---|
To: | listas <listas(at)legales-rosario(dot)com> |
Cc: | pgsql-ayuda(at)tlali(dot)iztacala(dot)unam(dot)mx |
Subject: | Re: [Pgsql-ayuda] eliminar columnas |
Date: | 2002-06-19 13:49:56 |
Message-ID: | Pine.BSO.4.44.0206190843460.23487-100000@campus.iztacala.unam.mx |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
> Hola, supongo que se debería eliminar una columna con:
>
> ALTER TABLE mitabla DROP micolumna
>
> pero no funciona.
>
> Podría hacer un pg_dump y tratar los datos con awk o cut. Pero hay
> alguna forma de hacerlo más facil, como ser un dump sin alguna columna?
>
> Desde ya muchas gracias
No puedes -hasta donde entiendo- quitar columnas de una tabla. Lo que sí
puedes hacer es crear una segunda tabla, copiar la información necesaria,
borrar la primera y renombrar la segunda con el nombre de la primera:
base_datos# \d tabla
Column | Type
----------+----------
id_cosa | smallint
descrip | character(15)
inutil | integer
base_datos# CREATE TABLE tabla_tmp (id_cosa smallint, descrip character(15));
CREATE
base_datos# INSERT INTO tabla_tmp SELECT id_cosa, descrip FROM tabla;
INSERT 73145 38
base_datos# DROP TABLE tabla;
DROP
base_datos# ALTER TABLE tabla_tmp RENAME TO tabla;
Claro, si tienes triggers, referencias y demás, no va a ser tan fácil...
Pero seguro encuentras modo ;-)
--
Gunnar Wolf - gwolf(at)campus(dot)iztacala(dot)unam(dot)mx - (+52-55)5623-1118
PGP key 1024D/8BB527AF 2001-10-23
Fingerprint: 0C79 D2D1 2C4E 9CE4 5973 F800 D80E F35A 8BB5 27AF
From | Date | Subject | |
---|---|---|---|
Next Message | CyberMaya <<Alex Bautista>> | 2002-06-19 16:09:24 | RE: [Pgsql-ayuda] eliminar columnas |
Previous Message | Antonio Castro | 2002-06-19 12:17:21 | Re: [Pgsql-ayuda] eliminar columnas |