2015-02-25 22:43 GMT-03:00 Emanuel Araújo <[email protected]>:

> oracle.table1 -> AppSincronizador -> postgresql.table1 -> Trigger
> (upd,ins,del) -> postgresql.table2
>
> Estou tendo situações onde o volume de dados é grande que as mudanças que
> deveria estar na tabela final não são encontradas, ficando as tabelas no
> postgresql desincronizadas.  Bom, a aplicação faz uma única transação e faz
> commits a cada 1000 registros.
>
> É como se as triggers desativassem, pois quando faço manualmente a
> operação é realizada.  Existe algum BUG ou situação onde o postgresql
> desative essas triggers ?
>
>
> Versão So: CentOS 6.5
> Postgresql 9.3.5
> Oracle: 11G
>
>
Sinceramente não creio ter algum bug que cause isso, deve ser um erro na
lógica de suas funções.



> Encontrei esse POST e queria esclarescimentos principalmente sobre o
> trecho abaixo:
> AFTER triggers are more expensive than BEFORE triggers because they must
> be queued up until the statement finishes doing its work, then executed.
> They aren't spilled to disk if the queue gets big (at least in 9.4 and
> below, may change in future) so huge AFTER trigger queues can cause
> available memory to overrun, resulting in the statement aborting.
>
> Link:
> http://dba.stackexchange.com/questions/88761/scaling-postgresql-triggers
>
> PS. No momento não estou interessado na performance, pois isso cuido
> posteriormente, mas sim na questão de que existem operações aleatórias que
> não concluem para a tabela final.
>

Não segui o link, mas o que você passou parece sim plausível, mas afetaria
apenas a performance, e se realmente ocorresse falha, a sua transação
inteira é abortada, não só a trigger (a não ser que esteja tratando
exceções nessas funções de forma indevida).

Atenciosamente,
-- 
Matheus de Oliveira
Analista de Banco de Dados
Dextra Sistemas - MPS.Br nível F!
www.dextra.com.br/postgres
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a