Re: Horrible trigger performance after upgrade 8.0.12 -> 8.2.3

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Joseph S <jks@selectacast.net>
Cc: pgsql-performance@postgresql.org
Date: 2007-03-20T19:58:25Z
Lists: pgsql-performance
Joseph S <jks@selectacast.net> writes:
> After upgrading to 8.2.3 INSERTs and UPDATEs on one of my tables became 
> incredibly slow.  I traced the problem to one of my triggers that calls 
> one of my defined functions (that is IMMUTABLE).  If I inline the 
> function instead of calling it the runtime for my test update drops from 
>   10261.234 ms to 564.094 ms.  The time running the trigger itself 
> dropped from 9749.910 to 99.504.

With no more details than that, I don't see how you expect any useful
comments.  Let's see the code.  Also, what PG version are you comparing to?

> BTW does make any sense to bother marking trigger functions as STABLE or 
> IMMUTABLE?

No, the trigger mechanisms don't pay any attention to that.  I can
hardly conceive of a useful trigger that wouldn't be VOLATILE anyway,
since side effects are more or less the point.

			regards, tom lane