Re: [Pgsql-ayuda] eliminar columnas

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

In response to

Browse pgsql-es-ayuda by date

  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