Re: Copiar bases de datos postgres 7.3 a postgres 8.1

From: Jaime Casanova <systemguards(at)gmail(dot)com>
To: Edwin Quijada <listas_quijada(at)hotmail(dot)com>
Cc: victor(dot)perez(at)e-evolution(dot)com, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Copiar bases de datos postgres 7.3 a postgres 8.1
Date: 2005-11-10 22:31:13
Message-ID: c2d9e70e0511101431w56d03d36m9d8711f7d7132a7f@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On 11/10/05, Edwin Quijada <listas_quijada(at)hotmail(dot)com> wrote:
> Algo mas facil que siempre hago y funciona.
> Desahibilita en tu nueva base todos los triggers esto tambien desabilita
> las referencias entre tablas , metes toda tu data , yluego vuelves y la
> habilitas. Si te gusta esa forma puedo enviarte como se desabilitan todas
> las restricciones, uhmm, pero funcionara en 8.1 ??
> Alvaro , que me dices?
>
> 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.
>
> Bueno, pruebalo si te deja es decir que funciona.
> Recuerda volver activarlos despues de meter toda tu data.
>

mmm... triggers... puede ser la solucion...

por cierto acabo de recordar que en 8.1 existe la nueva sintaxis

ALTER TABLE [ONLY] tabla DISABLE TRIGGER [ trigger_name | ALL | USER ]
ALTER TABLE [ONLY] tabla ENABLE TRIGGER [ trigger_name | ALL | USER ]

aunque claro tu solucion desactiva en todas las tablas y esto lo hace
una por una

--
Atentamente,
Jaime Casanova
(DBA: DataBase Aniquilator ;)

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Miguel 2005-11-10 22:33:21 slony-I
Previous Message Edwin Quijada 2005-11-10 21:45:32 Re: Copiar bases de datos postgres 7.3 a postgres 8.1