Srs. Tenho uma aplicação que replica dados de um banco oracle para postgresql. O fluxo segue da seguinte forma:
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 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. -- *Atenciosamente,Emanuel Araújo* *Linux Certified, DBA PostgreSQL*
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
