Re: Explain Analyze (Rollback off) Suggestion - Mailing list pgsql-hackers

From David G. Johnston
Subject Re: Explain Analyze (Rollback off) Suggestion
Date
Msg-id CAKFQuwaWhompsf8EP74sOztOtFnBFQufek-uYvw3ZB2iN3eo8Q@mail.gmail.com
Whole thread Raw
In response to Re: Explain Analyze (Rollback off) Suggestion  (Robert Haas <robertmhaas@gmail.com>)
Responses Re: Explain Analyze (Rollback off) Suggestion
List pgsql-hackers
On Thu, May 28, 2020 at 6:42 AM Robert Haas <robertmhaas@gmail.com> wrote:
On Wed, May 27, 2020 at 9:33 PM David G. Johnston
<david.g.johnston@gmail.com> wrote:
> I'm not seeing enough similarity with the reasons for, and specific behaviors, of those previous GUCs to dismiss this proposal on that basis alone.  These are "crap we messed things up" switches that alter a query behind the scenes in ways that a user cannot do through SQL - they simply provide for changing a default that we already allow the user to override per-query.  Its akin to "DateStyle" and its pure cosmetic influencing ease-of-use option rather than some changing the fundamental structural meaning of '\n'

Well, I think it's usually worse to have two possible behaviors rather
than one. Like, a lot of people have probably made the mistake of
running EXPLAIN ANALYZE without realizing that it's actually running
the query, and then been surprised or dismayed afterwards.

This really belongs on the other thread (though I basically said the same thing there two days ago):

The ANALYZE option should not be part of the GUC setup.  None of the other EXPLAIN default changing options have the same issues with being on by default - which is basically what we are talking about here: being able to have an option be on without specifying that option in the command itself.  TIMING already does this without difficulty and the others are no different.

David J.

pgsql-hackers by date:

Previous
From: Ashutosh Bapat
Date:
Subject: Re: Getting ERROR with FOR UPDATE/SHARE for partitioned table.
Next
From: Tom Lane
Date:
Subject: Re: Resolving the python 2 -> python 3 mess