Re: Profiling a function... - Mailing list pgsql-performance

From Richard Huxton
Subject Re: Profiling a function...
Date
Msg-id 41F139F7.6060904@archonet.com
Whole thread Raw
In response to Profiling a function...  (Robert Sanford <rsanford@trefs.com>)
List pgsql-performance
Robert Sanford wrote:
> How do I profile a user-defined function so that I know which parts of the
> function are the ones that are taking the biggest chunk of time?
>
> When I run EXPLAIN on the queries within the function none of them show up
> as onerous burdens to the performance. But when they are all operating
> together within the function and within the functional logic they become
> really expensive. Obviously I've made a mistake somewhere but it isn't
> obvious (otherwise it would be fixed already) and I'd prefer having a
> profile report telling me what is taking so long rather than guessing and
> possibly making things worse.
>
> So is there any way to get a line-by-line timing profile of a user-defined
> function?

Not really. What you can do is simulate the queries in functions by
using PREPARE. You're probably seeing a difference because when PG plans
  the queries for functions/prepared queries it doesn't know the actual
values.

--
   Richard Huxton
   Archonet Ltd

pgsql-performance by date:

Previous
From: Robert Sanford
Date:
Subject: Profiling a function...
Next
From: Matt Clark
Date:
Subject: Re: PostgreSQL clustering VS MySQL clustering