[Pgsql-ayuda] eliminar columnas
Gunnar Wolf
gwolf@campus.iztacala.unam.mx
Wed, 19 Jun 2002 08:49:56 -0500 (CDT)
> Hola, supongo que se deber=EDa eliminar una columna con:
>
> =09ALTER TABLE mitabla DROP micolumna
>
> pero no funciona.
>
> =09Podr=EDa hacer un pg_dump y tratar los datos con awk o cut. Pero hay
> alguna forma de hacerlo m=E1s facil, como ser un dump sin alguna columna?
>
> =09Desde ya muchas gracias
No puedes -hasta donde entiendo- quitar columnas de una tabla. Lo que s=ED
puedes hacer es crear una segunda tabla, copiar la informaci=F3n 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=E1s, no va a ser tan f=E1cil..=
=2E
Pero seguro encuentras modo ;-)
--=20
Gunnar Wolf - gwolf@campus.iztacala.unam.mx - (+52-55)5623-1118
PGP key 1024D/8BB527AF 2001-10-23
Fingerprint: 0C79 D2D1 2C4E 9CE4 5973 F800 D80E F35A 8BB5 27AF