2008/12/10 Rogério Grando <[EMAIL PROTECTED]>:
> Ola pessoal;
> Estamos migrando da versão 7.4 para 8.2 mas estamos tendo vários
> obstáculos nessa migração e agora na reta final apareceu outro
> problema... anteriormente fazia-mos uma transação da seguinte forma.
> Temos 2 tabelas: pai e filho sendo que a tabela filho possui uma fk
> cascade no delete com a pai.
> Executo: DELETE pai WHERE co_pai = 1; INSERT INTO pai (co_pai) VALUES
> (2); UPDATE filho SET co_pai = 2;
> Na versão 7.4 funciona, na 8.2 não, li a documentação e vi que posso
> mudar a fk para DEFERRED e devo colocar BEGIN; e COMMIT; para que a FK
> seja validada no final da transação, mas para isso teria que alterar
> toda minha aplicação.
> Teria alguma configuração postgres.conf ou alguma outra forma de estar
> mudando esse comportamento para que seja = a do 7.4?
>

tenta desabilitar as triggers antes de alterar a pk...


-- desabilita as triggers
alter table filho disable trigger all;

-- faz os updates

-- habilita as triggers novamente
alter table filho enable trigger all;


OBS: desabilitar a integridade do banco é muito perigo! faça com muita atenção!

--
Atenciosamente,
Sebastian Selau Webber Colombo
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a