Thread: EXPLAIN/EXPLAIN ANALYSE for pl/pgsql functions

EXPLAIN/EXPLAIN ANALYSE for pl/pgsql functions

From
Hannu Krosing
Date:
How much effort would it be to add EXPLAIN/EXPLAIN ANALYSE capability to
pl/pgsql functions?

what I mean, is either a special mode, where "SELECT my_plpgsql_func()"
would print all query plans instead or in addition to executing them, or
some way for EXPLAIN to pass some flags to functions so that they can
"do the right thing".

Hannu



Re: EXPLAIN/EXPLAIN ANALYSE for pl/pgsql functions

From
"Simon Riggs"
Date:
On Mon, 2007-04-23 at 11:01 +0300, Hannu Krosing wrote:
> How much effort would it be to add EXPLAIN/EXPLAIN ANALYSE capability to
> pl/pgsql functions?
> 
> what I mean, is either a special mode, where "SELECT my_plpgsql_func()"
> would print all query plans instead or in addition to executing them, or
> some way for EXPLAIN to pass some flags to functions so that they can
> "do the right thing".

I agree this is an important thing to have.

Index Advisor patch contains a solution to this issue: All SQL can be
explained, without needing to put the EXPLAIN keyword in front of each
SQL statement prior to execution. The next part of the functionality is
to re-run the EXPLAIN with hypothetical indexes, to see if the plan
would improve.

--  Simon Riggs              EnterpriseDB   http://www.enterprisedb.com




Re: EXPLAIN/EXPLAIN ANALYSE for pl/pgsql functions

From
Date:
<blockquote type="CITE"><pre>
<font color="#000000">> How much effort would it be to add EXPLAIN/EXPLAIN ANALYSE capability to</font>
<font color="#000000">> pl/pgsql functions?</font>
<font color="#000000">> </font>
<font color="#000000">> what I mean, is either a special mode, where "SELECT my_plpgsql_func()"</font>
<font color="#000000">> would print all query plans instead or in addition to executing them, or</font>
<font color="#000000">> some way for EXPLAIN to pass some flags to functions so that they can</font>
<font color="#000000">> "do the right thing".</font>

<font color="#000000">I agree this is an important thing to have.</font>
</pre></blockquote><br /> This is a feature I would like to add to the elusive PL/pgSQL debugger/tracer/profiler.<br
/><br/><br />                 -- Korry