That is what I thought. The trigger calls a 3000 row stored procedure which does all of the calculations to aggregate data into 3 separate tables and then insert the raw data point into a 4th table. > -----Original Message----- > From: Pierre C [mailto:lists@xxxxxxxxxx] > Sent: Thursday, July 15, 2010 4:47 PM > To: Benjamin Krajmalnik; pgsql-performance@xxxxxxxxxxxxxx > Subject: Re: Question of using COPY on a table with triggers > > > Essentially, we insert a set of columns into a table, and each row > fires > > a trigger function which calls a very large stored procedure > > > For inserting lots of rows, COPY is much faster than INSERT because it > parses data (a lot) faster and is more "data-stream-friendly". However > the > actual inserting into the tbale and trigger-calling has to be done for > both. > > If the trigger is a "very large stored procedure" it is very likely > that > executing it will take a lot more time than parsing & executing the > INSERT. So, using COPY instead of INSERT will not gain you anything. -- Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-performance