Check explain plan of a running query in other session

From: Jonas Gassenmeyer <gassenmj(at)gmail(dot)com>
To: pgsql-novice(at)lists(dot)postgresql(dot)org
Subject: Check explain plan of a running query in other session
Date: 2021-11-08 08:20:33
Message-ID: CADH0_2V5NkwpqKA5GoFq_FNd01CY6zPcNam6jdvrf0H58K16-A@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice

Hello,

I am asking myself for a while if there is an easy option (via dictionary
views like pg_stat_activity or similar) to check what execution plan was
chosen for a long running SQL statement while it is running in a different
session?
I have a performance problem in a plpgsql procedure that executes an update
within a loop. My guess is that it chose a generic plan instead of bind
peeking and then does not use an index.

I am not able to proof my theory, since I don't know how to get the explain
plan for it.
For me the easiest would be to check the running statement in a different
session and "hook into" the other plpgsql session to check what the
optimizer chose.

Is that something I can do easily? If not: What is the PostgreSQL way of
doing it?

Danke und viele Grüße
Jonas

Responses

Browse pgsql-novice by date

  From Date Subject
Next Message Laurenz Albe 2021-11-08 08:42:46 Re: Check explain plan of a running query in other session
Previous Message Tom Lane 2021-11-06 19:31:18 Re: Specified date type but created column is timestamp without time zone