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

Responder a