Em 1 de dezembro de 2014 06:33, Flavio Henrique Araque Gurgel <
fha...@gmail.com> escreveu:

>
>  Pessoal
>> alguem ja precisou gravar as mensagens de erro em uma tabela?
>>
>> tenho uma função e onde está ??? gostaria de gravar numa tabela de log
>>
>>     END IF;
>>     RAISE EXCEPTION '%', message;
>>     insert into log values(0, ??? , CURRENT_TIMESTAMP);
>>     RETURN NULL;
>>    end
>>
>
> Uma das formas de fazer isso é usar log em CSV e depois o file-fdw para
> ler o arquivo como se fosse uma tabela ou como segunda alternativa, se não
> precisar ser "ao vivo", você pode fazer um cron que importa com COPY a
> partir do CSV.
>
> []s
> Flavio Gurgel
> _______________________________________________
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>


boa tarde Flavio
obrigado pela resposta. vi um exemplo na internet e queria ver se acha que
é possivel:
neste caso se desse no primeiro ou no segundo insert(timeout por exemplo)
ele daria erro de exception e gravaria esse log?

 if (tg_op = 'insert') then

if (teste = '1' ) then
insert into mensagem(status, result, new.idmensagem, datahoraenvio)
SELECT status, result, new.idmensagem, CURRENT_TIMESTAMP
from http_get('www.terra.com.br '');
END IF;
if (teste = '2' ) then
insert into mensagem(status, result, new.idmensagem, datahoraenvio)
SELECT status, result, new.idmensagem, CURRENT_TIMESTAMP
from http_get('www.terra.com.br '');
END IF;
 return new;

   END IF;

   RAISE EXCEPTION '%', mensagem;
   insert into mensagem(status, result, idmensagem, datahoraenvio)
values(0, SQLSTATE || SQLERRM || _query, new.idmensagem,
CURRENT_TIMESTAMP);
   RETURN NULL;

-- 

Douglas Fabiano Specht
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a