From: | Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl> |
---|---|
To: | "Pablo E(dot) Siciliano" <psiciliano(at)puentenet(dot)com> |
Cc: | pgsql-ayuda(at)tlali(dot)iztacala(dot)unam(dot)mx |
Subject: | Re: [Pgsql-ayuda] modificación de constraints |
Date: | 2003-09-24 18:21:34 |
Message-ID: | 20030924182134.GF3237@dcc.uchile.cl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
On Wed, Sep 24, 2003 at 09:50:13AM -0300, Pablo E. Siciliano wrote:
> Tengo que modificar un constraint de una tabla, y vi que en alter table hay
> la posibilidad de tirarla abajo y volver a crearla, pero no encontré forma
> de mofificarla directamente. ¿Alguien conoce alguna manera, o sabe
> positivamente que no se puede (Como yo me imagino que no se puede)?
Cual es el problema con botarla y recrearla?
BEGIN;
DROP CONSTRAINT ...
CREATE CONSTRAINT ...
COMMIT;
Dado que los DDL en Postgres son 'transaccionables', para todas las
transacciones concurrentes habra una de las restricciones activas, en
todo momento.
Oracle (y otros) no pueden hacer eso; por este motivo necesitan trucos
sucios como "modificar una restriccion" para asegurar no perder la
integridad en ningun momento.
--
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
"In a specialized industrial society, it would be a disaster
to have kids running around loose." (Paul Graham)
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2003-09-24 18:24:18 | Re: [Pgsql-ayuda] Auxilio com SELECT NEXTVAL.....Por Favor |
Previous Message | Alvaro Herrera | 2003-09-24 18:15:15 | Re: [Pgsql-ayuda] Base de datos corrupta |