[pgsql-ayuda] ALTER TABLE ...

Ing. Roberto Andrade Fonseca randrade@abl.com.mx
Fri, 12 May 2000 22:42:39 -0500 (CDT)


Hola:

On Fri, 12 May 2000, Eduardo Gargiulo wrote:

> Hola a todos.
> Si bien este es mi primer mensaje a la lista, la vengo siguiendo hace
> bastante tiempo y me ha sido de mucha utilidad.
> Esta vez necesito que alguien me ayude a resolver mi problema.
> 
> Necesito editar la estructura de una tabla, mas especificamente eliminar
> un campo de la misma, a traves de un comando SQL. Hay alguna forma de
> hacerlo?
En la 7.0, la yuda de psql dice:

template1=> \h alter table
Command:     ALTER TABLE
Description: Modifies table properties
Syntax:
ALTER TABLE table [ * ]
    ADD [ COLUMN ] column type
ALTER TABLE table [ * ]
    ALTER [ COLUMN ] column { SET DEFAULT value | DROP DEFAULT }
ALTER TABLE table [ * ]
    RENAME [ COLUMN ] column TO newcolumn
ALTER TABLE table
    RENAME TO newtable    

----------------------------

Así que la receta sería:

Guarda en una tabla temporal los campos que deseas conservar:

SELECT lista_de_campos FROM tabla_fea INTO TABLE tabla_nueva;

Borras la tabla_fea:

DROP TABLE tabla_fea; -- No estaría mal hacer un pg_dump antes. ;-)

Renombras la nueva:

ALTER TABLE tabla_nueva TO tabla_fea;

Roberto Andrade Fonseca
randrade@abl.com.mx

--------- Pie de mensaje -------------------------------------------
Archivo historico: http://tlali.iztacala.unam.mx/maillist/pgsql-ayuda
Cancelar inscripcion:
mail to: majordomo@tlali.iztacala.unam.mx
text   : unsubscribe pgsql-ayuda