On Thu, Jun 23, 2005 at 02:26:23PM +0100, Donald Fraser wrote: > > Is the returned value of a function defined as IMMUTABLE cached > globally? In other words could postgresql potentially return a > cached value obtained from one client session to a different client > session? You could experiment with this by adding a debugging RAISE statement to an IMMUTABLE PL/pgSQL function to see when it's called. I suspect there's no global caching; if there is then I haven't been able to make it happen in tests. There doesn't even appear to be any caching between disparate queries in the same session unless a prepared plan is involved (e.g., a plan made with PREPARE or a cached plan from a PL/pgSQL function) and the result of the IMMUTABLE function could be determined at planning time. -- Michael Fuhr http://www.fuhr.org/~mfuhr/