Hash aggregation can use disk
Recorded source states and original language descriptions. Missing version evidence stays unknown.
The source snapshot records transitions for PostgreSQL 8.1–18. The historical matrix records independent cells for 7.4–18. Neither records support for PostgreSQL 19 or 20; newer versions remain unknown. These source claims are distinct from runtime measurements.
Performance
Description
The query planner can now consider using hash aggregation if it expects the aggregate to exceed working memory.
This can be controlled by two configuration parameters:
Selected version: PostgreSQL 18
Yes
Compare versions
Original documentation links
Recorded legacy identifiers: 336
Complete source facts and provenance
yaml · center · 1dd22bf9a7f3ec325b894e2836fda535a25529f246a94dd41d6abbfe9997f7fd
{
"Key": "hash-aggregation-can-use-disk",
"SourceKind": "yaml",
"SourceDatabase": "center",
"SourceTable": "featurematrix.yaml",
"SourceKey": "Hash aggregation can use disk",
"SourceHash": "1dd22bf9a7f3ec325b894e2836fda535a25529f246a94dd41d6abbfe9997f7fd",
"Name": "Hash aggregation can use disk",
"NameLocale": "en",
"GroupKey": "performance",
"GroupName": "Performance",
"GroupLocale": "en",
"Ordinal": 15,
"GroupOrder": 5,
"Facts": {
"feature": {
"description": "The query planner can now consider using hash aggregation if it expects the aggregate to exceed working memory.\r\n\r\nThis can be controlled by two configuration parameters:\r\n\r\n- [enable_hashagg](https://www.postgresql.org/docs/13/runtime-config-query.html#GUC-ENABLE-HASHAGG)\r\n- [hash_mem_multiplier](https://www.postgresql.org/docs/13/runtime-config-resource.html#GUC-HASH-MEM-MULTIPLIER)",
"name": "Hash aggregation can use disk",
"versions": {
"13": "Yes"
}
},
"group": "Performance",
"versions": {
"max": 18,
"min": 8.1
}
},
"Cells": [
{
"Version": "10",
"State": "no",
"EvidenceKind": "yaml-default-no",
"TransitionVersion": "",
"Supported": false,
"Original": "No"
},
{
"Version": "11",
"State": "no",
"EvidenceKind": "yaml-default-no",
"TransitionVersion": "",
"Supported": false,
"Original": "No"
},
{
"Version": "12",
"State": "no",
"EvidenceKind": "yaml-default-no",
"TransitionVersion": "",
"Supported": false,
"Original": "No"
},
{
"Version": "13",
"State": "yes",
"EvidenceKind": "yaml-transition",
"TransitionVersion": "13",
"Supported": true,
"Original": "Yes"
},
{
"Version": "14",
"State": "yes",
"EvidenceKind": "yaml-transition",
"TransitionVersion": "13",
"Supported": true,
"Original": "Yes"
},
{
"Version": "15",
"State": "yes",
"EvidenceKind": "yaml-transition",
"TransitionVersion": "13",
"Supported": true,
"Original": "Yes"
},
{
"Version": "16",
"State": "yes",
"EvidenceKind": "yaml-transition",
"TransitionVersion": "13",
"Supported": true,
"Original": "Yes"
},
{
"Version": "17",
"State": "yes",
"EvidenceKind": "yaml-transition",
"TransitionVersion": "13",
"Supported": true,
"Original": "Yes"
},
{
"Version": "18",
"State": "yes",
"EvidenceKind": "yaml-transition",
"TransitionVersion": "13",
"Supported": true,
"Original": "Yes"
},
{
"Version": "8.1",
"State": "no",
"EvidenceKind": "yaml-default-no",
"TransitionVersion": "",
"Supported": false,
"Original": "No"
},
{
"Version": "8.2",
"State": "no",
"EvidenceKind": "yaml-default-no",
"TransitionVersion": "",
"Supported": false,
"Original": "No"
},
{
"Version": "8.3",
"State": "no",
"EvidenceKind": "yaml-default-no",
"TransitionVersion": "",
"Supported": false,
"Original": "No"
},
{
"Version": "8.4",
"State": "no",
"EvidenceKind": "yaml-default-no",
"TransitionVersion": "",
"Supported": false,
"Original": "No"
},
{
"Version": "9.0",
"State": "no",
"EvidenceKind": "yaml-default-no",
"TransitionVersion": "",
"Supported": false,
"Original": "No"
},
{
"Version": "9.1",
"State": "no",
"EvidenceKind": "yaml-default-no",
"TransitionVersion": "",
"Supported": false,
"Original": "No"
},
{
"Version": "9.2",
"State": "no",
"EvidenceKind": "yaml-default-no",
"TransitionVersion": "",
"Supported": false,
"Original": "No"
},
{
"Version": "9.3",
"State": "no",
"EvidenceKind": "yaml-default-no",
"TransitionVersion": "",
"Supported": false,
"Original": "No"
},
{
"Version": "9.4",
"State": "no",
"EvidenceKind": "yaml-default-no",
"TransitionVersion": "",
"Supported": false,
"Original": "No"
},
{
"Version": "9.5",
"State": "no",
"EvidenceKind": "yaml-default-no",
"TransitionVersion": "",
"Supported": false,
"Original": "No"
},
{
"Version": "9.6",
"State": "no",
"EvidenceKind": "yaml-default-no",
"TransitionVersion": "",
"Supported": false,
"Original": "No"
}
],
"Texts": [
{
"Locale": "en",
"Title": "Hash aggregation can use disk",
"BodyHTML": "\u003cp\u003eThe query planner can now consider using hash aggregation if it expects the aggregate to exceed working memory.\u003c/p\u003e\n\u003cp\u003eThis can be controlled by two configuration parameters:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://www.postgresql.org/docs/13/runtime-config-query.html#GUC-ENABLE-HASHAGG\" rel=\"nofollow\"\u003eenable_hashagg\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.postgresql.org/docs/13/runtime-config-resource.html#GUC-HASH-MEM-MULTIPLIER\" rel=\"nofollow\"\u003ehash_mem_multiplier\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n",
"SourceHash": "1dd22bf9a7f3ec325b894e2836fda535a25529f246a94dd41d6abbfe9997f7fd",
"ContentHash": "daee27a85c91e13352a611004ab513f7c1ab8f89e46fd6b7686f2315abb67381",
"Payload": {
"description": "The query planner can now consider using hash aggregation if it expects the aggregate to exceed working memory.\r\n\r\nThis can be controlled by two configuration parameters:\r\n\r\n- [enable_hashagg](https://www.postgresql.org/docs/13/runtime-config-query.html#GUC-ENABLE-HASHAGG)\r\n- [hash_mem_multiplier](https://www.postgresql.org/docs/13/runtime-config-resource.html#GUC-HASH-MEM-MULTIPLIER)",
"name": "Hash aggregation can use disk",
"versions": {
"13": "Yes"
}
}
},
{
"Locale": "zh-Hans",
"Title": "基于磁盘的哈希聚合",
"BodyHTML": "\u003cp\u003e查询规划器现在可以在预计聚合将超过工作内存时考虑使用哈希聚合。\u003c/p\u003e\n\u003cp\u003e这可以通过两个配置参数进行控制:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://www.postgresql.org/docs/13/runtime-config-query.html#GUC-ENABLE-HASHAGG\" rel=\"nofollow\"\u003eenable_hashagg\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.postgresql.org/docs/13/runtime-config-resource.html#GUC-HASH-MEM-MULTIPLIER\" rel=\"nofollow\"\u003ehash_mem_multiplier\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n",
"SourceHash": "071091951021357a5f492adb04caed6febf4d315ac2626ca027a48dd8ec01d50",
"ContentHash": "2b062274d4f01772909acc01d25bcc16c2c9670bb7a46117832d9a3f0c1d4ac3",
"Payload": {
"description": "查询规划器现在可以在预计聚合将超过工作内存时考虑使用哈希聚合。\n\n这可以通过两个配置参数进行控制:\n\n- [enable_hashagg](https://www.postgresql.org/docs/13/runtime-config-query.html#GUC-ENABLE-HASHAGG)\n- [hash_mem_multiplier](https://www.postgresql.org/docs/13/runtime-config-resource.html#GUC-HASH-MEM-MULTIPLIER)",
"name": "基于磁盘的哈希聚合"
}
}
],
"GroupTitles": {
"en": "Performance",
"zh-Hans": "性能"
},
"LegacyIDs": [
"336"
]
}