[Pgsql-ayuda] Integridad referencial
Manuel Sugawara
masm@fciencias.unam.mx
25 Feb 2004 11:01:46 -0600
Rafa Rodriguez Hernandez <rhernandez@prisacom.com> writes:
> Hola,
>
> Necesito si alguno sabeis, como desactivar la integridad referencial,
> volcar un dump y volver a activa dicha integridad.
>
> Me podeis decir mas o menos como llevarlo a cabo? Necesito medir el tiempo
> que tardo en hacerlo.
Para desactivarlos pg_dump hace algo como:
UPDATE pg_class SET reltriggers = 0 WHERE relname !~ 'pg_';
y para activarlos de nuevo algo como:
UPDATE pg_class SET reltriggers = (SELECT count(*) FROM pg_trigger where pg_class.oid = tgrelid) WHERE relname !~ '^pg_'
Nota que esto desactiva *todos* los triggers, en particular aquellos
que se encargan de mantener la integridad referencial.
Saludos,
Manuel.