Olá, Se permitem participar
Em 4 de abril de 2013 11:35, Irineu <[email protected]> escreveu: > Em 04/04/2013 11:19, Flavio Henrique Araque Gurgel escreveu: > > >> Talvez você esteja com uma questão de concorrência. Verifique se o erro >> realmente aconteceu na tabela ind_03_03_02_02_a1 e certifique-se disso. >> >> Pergunto: ao inserir, de onde você retira o valor id_movimento (que me >> parece ser a sua PK ou pelo menos índice único)? >> >> Eu faria um teste, colocando dentro do IF que testa a existência um: >> RAISE EXCEPTION >> Pra logar o que realmente está acontecendo. >> Você pode colocar RAISE EXCEPTION ou RAISE NOTICE em vários pontos da sua >> função pra tentar "debugar". >> >> O que pode haver é uma transação concorrente comitar o valor antes da sua >> função terminar, porém após o teste. Isso é possível em caso de isolamento >> READ COMMITTED. >> > Se me permitem participar. READ COMMITED é o nível de isolamento do PostgreSQL, logo você só não trabalha com ele se você setou o nível SERIALIZABLE. Este tipo de problema acontece mesmo. Um jeito simples de você simular isso, é abrir duas transações em sessões distintas e fazer o teste. Você consegue fazer isso e nos postar o resultado? > Flávio, é uma UNIQUE. > Acho que resolvestes a charada, devers er o isolamento READ COMMITTED. > Vou seguir tua sugestão, vou logar para ver o que tá ocorrendo. > > Muito obrigado. > > > > -- > Irineu Raymundo > Programador/Consultor Técnico > Senda Engenharia de Dados Ltda. > > ______________________________**_________________ > pgbr-geral mailing list > [email protected].**org.br<[email protected]> > https://listas.postgresql.org.**br/cgi-bin/mailman/listinfo/**pgbr-geral<https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral> > Abraços -- JotaComm http://jotacomm.wordpress.com
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
