From: | Jaime Casanova <systemguards(at)gmail(dot)com> |
---|---|
To: | ROBERTO FARIAS <robertofarias0(at)hotmail(dot)com> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: alter de una tabla |
Date: | 2005-11-29 15:13:00 |
Message-ID: | c2d9e70e0511290713h1844c598j4732fb922818ecab@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
On 11/29/05, ROBERTO FARIAS <robertofarias0(at)hotmail(dot)com> wrote:
> Hola a todos:
> Alguien me puede ayudar en lo siguiente:
> Necesito agregar un campo en una tabla en el medio de otros campos.
> Esa tabla tiene clave foránea apuntando a otras tablas y es apuntada también
> por otras tablas.
> Estoy trabajando con Postgresql 7.3
> Cómo hago para agregar ese campo y no perder los datos y tampoco perder las
> referencias?
> Muchas Gracias.
> Saludos.
>
>
CREATE TABLE tt (campos mas el nuevo);
-- crea todos los indices, fks, checks etc..
-- quiza puedas hacer pg_dump y sacar solo el schema de la tabla original
-- y le cambias el nombre
INSERT INTO tt SELECT campos + valor para el nuevo (o null) FROM tabla;
DROP TABLE tabla;
-- si tienes vistas basadas en esta tabla tendras que volarlas tambien
-- y reconstruirlas
ALTER TABLE tt RENAME TO tabla;
--
Atentamente,
Jaime Casanova
(DBA: DataBase Aniquilator ;)
From | Date | Subject | |
---|---|---|---|
Next Message | Gunnar Wolf | 2005-11-29 15:15:12 | Re: Ayuda recuperar registros aleatorios en postgres 8.0 |
Previous Message | Mario Soto Cordones - Venezuela | 2005-11-29 15:04:16 | Re: alter de una tabla |