Não entendi esta situação da transação. Todos os comandos devem ser executados dentro de transação, nem que sejam autocommit. Não pode ter acontecido dos logs estarem em uma transação e os registros da nota em outra, e exatamente o da nota ter dado rollback?
Porque é bem estranho, porque se houve perda de dados, normalmente há corrompimento da base de dados, já que a integridade dos dados foi perdida. Ou realmente alguém ou algum processo deu rollback ou excluiu os dados. Em 7 de fevereiro de 2017 06:54, Forsell - Erlon <fors...@forsell.com.br> escreveu: > O log é gravado em uma tabela no postgres, e a função é chamada em todo > lugar no sistema > > no caso da nota fiscal, chama ao incluir a nota, ao importar os dados de > uma venda, ao finalizar a nota, enviar para receita, está tudo no log > > foi retirado uso de transação substituido por disparar vários comandos sql > de uma vez no banco de dados, o que é praticamente igual a uma transação e > o problema voltou a acontecer mesmo assim. > > gravou a nota, gerou xml, transmitiu a receita, fechou a tela do sistema > o dado não permaneceu gravado. > > porém os registros do log indicando a gravação da nota estavam lá > > não tem erro no sistema pessoal, isso acontece em um cliente 1 vez por > mês, uma nota em 200. > > mas entendo que se realmente ningúem viu esse tipo de situação acontecer > fica dificil ajudar mesmo. > > o mesmo sistema é usado em 50 clientes, e só em 2 locais que acontece, > estamos apostando em tentar verificar a rede ou mudar o servidor para outra > máquina. mas é muito estranho o dado ter existido banco de dados e não > permanecer lá após fechar o sistema (mesmo sem usar transação). > > > > Em 06/02/2017 17:56, Euler Taveira escreveu: > >> On 06-02-2017 15:02, Forsell - Erlon wrote: >> >>> Só sabemos que os dados estavam lá, porque temos uma tabela de log >>> nosso, nessa tabela indica a criação da nota daquele número >>> o cliente possui o pdf do danfe impresso e enviado via email ao >>> cliente - danfe gerado com os dados da base de dados. >>> fechou a tela de emissão de nota, a informação deixou de estar >>> gravada no banco de dados >>> em ambas situações, com transação (devidamente concluida) e retirado >>> transação feito por comando normal. >>> >>> >> Você precisa responder algumas perguntas: >> >> (i) como é gravado esse log? Gatilho? Aplicação? Na mesma transação? >> Antes dos dados? Depois dos dados? >> (ii) vocês auditam DELETE? É possível que alguém tenha removido um >> registro? >> (iii) quais os parâmetros reportados pela consulta [1]. >> (iv) a sua aplicação usa alguma camada de persistência? Se sim, já >> verificaram se ele por acaso não persistiu os dados por algum erro? >> (v) a sua aplicação usa blocos de transação explícitos? Há verificação >> de erros de transação nesse trecho de código? >> >> A última vez que vi o postgres perder dados por falha do software foi na >> 7.0 (a mais de 15 anos atrás) -- onde não existia WAL ainda. >> >> >> [1] https://gist.github.com/eulerto/450501d8ef00404e665b46a2f2a6e8e2 >> >> >> > _______________________________________________ > pgbr-geral mailing list > pgbr-geral@listas.postgresql.org.br > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >
_______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral