Fix EXPLAIN ANALYZE for parallel HashAgg plans
authorDavid Rowley
Fri, 19 Jun 2020 05:25:07 +0000 (17:25 +1200)
committerDavid Rowley
Fri, 19 Jun 2020 05:25:07 +0000 (17:25 +1200)
commitbdee4af8e07648008fe522fc5a562db453be5ad7
treee7917a123732dd41101efa0eb74ccf12a8def19a
parent5fffa8fce37b981e1a5bb79affce9a856e021265
Fix EXPLAIN ANALYZE for parallel HashAgg plans

Since 1f39bce02, HashAgg nodes have had the ability to spill to disk when
memory consumption exceeds work_mem. That commit added new properties to
EXPLAIN ANALYZE to show the maximum memory usage and disk usage, however,
it didn't quite go as far as showing that information for parallel
workers.  Since workers may have experienced something very different from
the main process, we should show this information per worker, as is done
in Sort.

Reviewed-by: Justin Pryzby
Reviewed-by: Jeff Davis
Discussion: https://postgr.es/m/CAApHDvpEKbfZa18mM1TD7qV6PG+w97pwCWq5tVD0dX7e11gRJw@mail.gmail.com
Backpatch-through: 13, where the hashagg spilling code was added.
src/backend/commands/explain.c
src/backend/executor/execParallel.c
src/backend/executor/nodeAgg.c
src/include/executor/nodeAgg.h
src/include/nodes/execnodes.h