Re: New EXPLAIN option: ALL - Mailing list pgsql-hackers

From Tom Lane
Subject Re: New EXPLAIN option: ALL
Date
Msg-id 4638.1557266803@sss.pgh.pa.us
Whole thread Raw
In response to Re: New EXPLAIN option: ALL  (Andres Freund <andres@anarazel.de>)
Responses Re: New EXPLAIN option: ALL  (Stephen Frost <sfrost@snowman.net>)
List pgsql-hackers
Andres Freund <andres@anarazel.de> writes:
> As I said, I don't think ALL is a good idea under any name.  Like it
> just makes no sense to have ANALYZE, SUMMARY, VERBOSE, BUFFERS,
> SETTINGS, FORMAT controlled by one option, unless you call it DWIM. It's
> several separate axis (query is executed or not (ANALYZE), verbosity
> (SUMMARY, VERBOSE), collecting additional information (BUFFERS, TIMING),
> output format).

FWIW, I find this line of argument fairly convincing.  There may well
be a case for rethinking just how EXPLAIN's options behave, but "ALL"
doesn't seem like a good conceptual model.

One idea that comes to mind is that VERBOSE could be redefined as some
sort of package of primitive options, including all of the "additional
information" options, with the ability to turn individual ones off again
if you wanted.  So for example (VERBOSE, BUFFERS OFF) would give you
everything except buffer stats.  We'd need a separate flag/flags to
control what VERBOSE originally did, but that doesn't bother me ---
it's an opportunity for more clarity of definition, anyway.

I do feel that it's a good idea to keep ANALYZE separate. "Execute
the query or not" is a mighty fundamental thing.  I've never liked
that name for the option though --- maybe we could deprecate it
in favor of EXECUTE?

            regards, tom lane



pgsql-hackers by date:

Previous
From: Alexander Korotkov
Date:
Subject: Re: jsonpath
Next
From: Stephen Frost
Date:
Subject: Re: New EXPLAIN option: ALL