Commit f36e8207 authored by Peter Geoghegan's avatar Peter Geoghegan

Doc: Remove obsolete CREATE AGGREGATE note.

The planner is in fact willing to use hash aggregation when work_mem is
not set high enough for everything to fit in memory.  This has been the
case since commit 1f39bce0, which added disk-based hash aggregation.

There are a few remaining cases in which hash aggregation is avoided as
a matter of policy when the planner surmises that spilling will be
necessary.  For example, callers of choose_hashed_setop() still
conservatively avoid hash aggregation when spilling is anticipated.
That doesn't seem like a good enough reason to mention hash aggregation
in this context.

Backpatch: 13-, where disk-based hash aggregation was introduced.
parent 0e3e1c4e
...@@ -386,10 +386,7 @@ SELECT col FROM tab ORDER BY col USING sortop LIMIT 1; ...@@ -386,10 +386,7 @@ SELECT col FROM tab ORDER BY col USING sortop LIMIT 1;
If this parameter is omitted or is zero, a default estimate is used If this parameter is omitted or is zero, a default estimate is used
based on the <replaceable>state_data_type</replaceable>. based on the <replaceable>state_data_type</replaceable>.
The planner uses this value to estimate the memory required for a The planner uses this value to estimate the memory required for a
grouped aggregate query. The planner will consider using hash grouped aggregate query.
aggregation for such a query only if the hash table is estimated to fit
in <xref linkend="guc-work-mem"/>; therefore, large values of this
parameter discourage use of hash aggregation.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment