Re: Proposals for EXPLAIN: rename ANALYZE to EXECUTE and extend VERBOSE

David Rowley <dgrowleyml@gmail.com>

From: David Rowley <dgrowleyml@gmail.com>
To: Greg Sabino Mullane <htamfids@gmail.com>
Cc: Guillaume Lelarge <guillaume@lelarge.info>, Robert Haas <robertmhaas@gmail.com>, Michael Christofides <michael@pgmustard.com>, "David G. Johnston" <david.g.johnston@gmail.com>, Nikolay Samokhvalov <samokhvalov@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>, pgsql-hackers@postgresql.org
Date: 2024-11-20T01:10:06Z
Lists: pgsql-hackers
On Wed, 20 Nov 2024 at 13:13, Greg Sabino Mullane <htamfids@gmail.com> wrote:
>> It defaults to <literal>TRUE</literal> when <literal>ANALYZE</literal> is also enabled. Otherwise, it defaults to <literal>FALSE</literal>.
>
> Is that second sentence really needed? Because "BUFFERS ON" will never be needed anymore (save as a no-op to allow the same explain queries to run cross-version), and BUFFERS OFF outside of analyze is meaningless.

"BUFFERS ON" will be needed if the user wants to see the buffer usage
in the planner when ANALYZE isn't specified. You'll see the planner
access buffers when the caches are not fully populated and for
get_actual_variable_range() work.

Maybe the wording could just be based on the wording for the SUMMARY
option, i.e. "Summary information is included by default when ANALYZE
is used but otherwise is not included by default".

David



Commits

  1. Fix further fallout from EXPLAIN ANALYZE BUFFERS change

  2. Add missing BUFFERS OFF in regression tests, take 2

  3. Add missing BUFFERS OFF in select_into regression tests

  4. Enable BUFFERS with EXPLAIN ANALYZE by default