public inbox for [email protected]  
help / color / mirror / Atom feed
From: David G. Johnston <[email protected]>
To: Vijaykumar Jain <[email protected]>
Cc: pgsql-general <[email protected]>
Subject: Re: explain vs auto_explain
Date: Sat, 19 Oct 2024 10:25:09 -0700
Message-ID: <CAKFQuwYCf42_Gvf3pbyjgYzJ2-adS6j_hBgde+ORck2vXXKO5w@mail.gmail.com> (raw)
In-Reply-To: <CAM+6J96FeJxruxqPcZTxTuanKbZzmy0AUMOzChAr72y4iSd+7g@mail.gmail.com>
References: <CAM+6J96FeJxruxqPcZTxTuanKbZzmy0AUMOzChAr72y4iSd+7g@mail.gmail.com>

On Sat, Oct 19, 2024 at 10:05 AM Vijaykumar Jain <
[email protected]> wrote:

> Why does auto_explain have extended flags to support nested statements and
> triggers whereas explain does not.
> the objects of concern have the same ownership and access, so it does not
> even sound like a security thing.
>
> or maybe it is just a format/display issue ?
> i tried to check the doc, there is no explicit mention of differences
> PostgreSQL: Documentation: 17: F.3. auto_explain — log execution plans of
> slow queries <https://www.postgresql.org/docs/current/auto-explain.html;
>
>
With auto_explain you end up producing multiple individual explains, one
for each top-level query being executed.  Each one produced by auto_explain
which hooks into the point where a top-level query begins execution.
Running explain directly on a top-level query doesn't establish any of the
needed hooks to produce these additional explains.  While those hooks could
be installed the output for manual explain is the single query result sent
to the client.  How multiple explains could be combined into that single
output channel would need to be figured out as well.  While auto_explain
uses the log file which is much simpler to use in this manner since each
auto_explain can just be told to write its output to the log and not worry
about any other considerations.

In short, there is no fundamental reason manual explain couldn't be
improved along these lines.

David J.


view thread (2+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected]
  Subject: Re: explain vs auto_explain
  In-Reply-To: <CAKFQuwYCf42_Gvf3pbyjgYzJ2-adS6j_hBgde+ORck2vXXKO5w@mail.gmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox