From: | Rodrigo Gonzalez <rjgonzale(dot)lists(at)gmail(dot)com> |
---|---|
To: | Tim Kane <tim(dot)kane(at)gmail(dot)com> |
Cc: | Rowan Collins <rowan(dot)collins(at)gmail(dot)com>, <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Query plan for currently executing query? |
Date: | 2013-09-18 15:29:10 |
Message-ID: | 20130918122910.64866057@rjgonzale-laptop |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Wed, 18 Sep 2013 16:24:16 +0100
Tim Kane <tim(dot)kane(at)gmail(dot)com> wrote:
>
>
> On 18/09/2013 14:44, "Rowan Collins" <rowan(dot)collins(at)gmail(dot)com> wrote:
>
> >
> >Running an EXPLAIN on the exact query should give you the plan. An
> >EXPLAIN ANALYZE would have to wait for the query to complete either
> >way, so you wouldn't be able to get it mid-way through a running
> >process.
> >
> >If you don't know the exact query running, then if the
> >stats_command_string config setting is on, you should be able to get
> >it by querying the pg_stat_activity view.
> >
> >The only other problem I can think of is if there are temporary
> >tables or other session-specific objects that would exist only
> >within the running process.
> >
> >Another possibility to consider (which would also show up in
> >pg_stat_activity or similar views) is that the query is waiting on
> >some kind of lock, rather than just executing slowly.
>
>
> I think the OP was hoping for a solution that would allow him to
> retrieve the query plan that was generated at execution time. I've
> certainly wished for this type of facility in the past, in the
> scenario where a given table may have been ANALYZE in the interim -
> making it difficult to perform any useful diagnostics on the problem
> query.
>
Maybe auto-explain is the solution?
From | Date | Subject | |
---|---|---|---|
Next Message | Lonni J Friedman | 2013-09-18 15:32:22 | Re: upgrade from 9.2.x to 9.3 causes significant performance degradation |
Previous Message | Tim Kane | 2013-09-18 15:24:16 | Re: Query plan for currently executing query? |