| 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: | Whole Thread | Raw Message | 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 |