On Thu, Jun 18, 2020 at 03:37:21PM +1200, David Rowley wrote: > Now that HashAgg can spill to disk, we see a few more details in > EXPLAIN ANALYZE than we did previously, e.g. Peak Memory Usage, Disk > Usage. However, the new code neglected to make EXPLAIN ANALYZE show > these new details for parallel workers. > > Additionally, the new properties all were using > ExplainPropertyInteger() which meant that we got output like: > > Group Key: a > Peak Memory Usage: 97 kB > Disk Usage: 3928 kB > HashAgg Batches: 798 > > Where all the properties were on a line by themselves. This does not > really follow what other nodes are doing, e.g sort: > > -> Sort (actual time=47.500..59.344 rows=100000 loops=1) > Sort Key: a > Sort Method: external merge Disk: 2432kB > > Where we stick all the properties on a single line.
Note that "incremental sort" is also new, and splits things up more than sort. See in particular 6a918c3ac8a6b1d8b53cead6fcb7cbd84eee5750, which splits things up even more. -> Incremental Sort (actual rows=70 loops=1) Sort Key: t.a, t.b Presorted Key: t.a - Full-sort Groups: 1 Sort Method: quicksort Memory: avg=NNkB peak=NNkB Presorted Groups: 5 Sort Methods: top-N heapsort, quicksort Memory: avg=NNkB peak=NNkB + Full-sort Groups: 1 Sort Method: quicksort Average Memory: NNkB Peak Memory: NNkB + Pre-sorted Groups: 5 Sort Methods: top-N heapsort, quicksort Average Memory: NNkB Peak Memory: NNkB That's not really a "precedent" and I don't think that necessarily invalidates your change. -- Justin