No, I cannot use VACUUM inside the transaction, and it seems this is the problem, although autovacuum is set. However I checked the following scenario to find a solution. I call the 30000 statements without transaction. The performance it not changed. But when I add VACUUM command after each 20 statement set, I got the linear performance that I want. Unfortunatelly this is not possible inside a transaction. Do you know how could I solve my problem, keeping the 30000 statements inside a single transaction ? Sabin "Lennin Caro" <lennin.caro@xxxxxxxxx> wrote in message news:120621.32315.qm@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx > have you use VACUMM? > > --- On Fri, 7/18/08, Sabin Coanda <sabin.coanda@xxxxxxxxxxxxx> wrote: > >> From: Sabin Coanda <sabin.coanda@xxxxxxxxxxxxx> >> Subject: [PERFORM] long transaction >> To: pgsql-performance@xxxxxxxxxxxxxx >> Date: Friday, July 18, 2008, 3:34 PM >> Hi there, >> >> I have a script which includes 30000 called functions >> within a single >> transaction. >> >> At the beginning, the functions runs fast enough (about 60 >> ms each). In >> time, it begins to run slower and slower (at final about >> one per 2 seconds). >> >> I check the functions that runs slowly outside the script >> and they run >> normally (60 ms each). >> >> What is the problem ? >> >> TIA, >> Sabin >> >> >> >> -- >> Sent via pgsql-performance mailing list >> (pgsql-performance@xxxxxxxxxxxxxx) >> To make changes to your subscription: >> http://www.postgresql.org/mailpref/pgsql-performance > > > > > > -- > Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-performance >