Estou executando uma rotina de reprocessamento na minha máquina, que roda Windows Vista Home Premium 32-bit e PostgreSQL 8.4.1. Com o mesmo database em um servidor de produção rodando Ubuntu Linux 8.04 32-bit e PostgreSQL 8.2.12, o erro não acontece.
A rotina é na aplicação, executando mais de 50.000 comandos SQL dentro da transação (distribuídos entre INSERTS, UPDATES, DELETES e SELECTS). Chega um momento que o PostgreSQL simplesmente "abre as pernas". A máquina fica impossível de ser utilizada, e logo em seguida a mensagem de erro é retornada pela aplicação: [SQL Error] Connectivity error: [SQL State] 53200 [Mensagem do driver ODBC] ERROR: out of memory Failed on request of size 88.; Error while executing the query [Código SQL] SELECT * FROM PCCMESD0 WHERE EMPFIL='0012' AND ITEM='414719' AND DTMOVI='2009-11-27' O que poderia ser? Seria este algum bug da 8.4.1 ou um bom motivo para usar Linux? ;) Por questões de tempo e complexidade da rotina, não há como implementá-la dentro de uma função em Pl/PgSQL. Eu sei que esta é a melhor alternativa, mas não dispomos de tempo para fazê-lo, visto que todas as regras de negócio utilizas estão no aplicativo. -- TIAGO J. ADAMI http://www.adamiworks.com _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
