> 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? >> Oi Sebastian, desculpe se não fui claro, mas o meu problema é que no >> momento em que excluo o registro da tabela pai já é excluído da tabela >> filho, portanto no momento que faço um update na tabela filho com o novo >> código do pai o registro filho ja não existe mais, quando eu executava >> isso na versão 7.4 a exclusão da fk era feita no final da transação >> acabava não fazendo nada pois o registro filho ja havia sido modificado >> com o novo código do pai. >> > > Não é mais fácil primeiro alterar o filho para depois excluir o pai?? > > -- > Shander Lyrio > > Ola Shander Lyrio;
Com certeza, mas o que me ocorre aqui é que encontramos em uma determinada parte do ERP executando dessa forma, então corrigimos essa funcionalidade, mas pode ocorrer em outra parte também, e como sempre o desenvolvimento não dispõe de muito tempo para varrer toda a aplicação eu tava pesando que houvesse alguma configuração que pudesse me ajudar. _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
