[Pgsql-ayuda] modificac
ión de constraints
Alvaro Herrera
alvherre@dcc.uchile.cl
Wed, 24 Sep 2003 14:21:34 -0400
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)