↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

Wiki / 版本

基于磁盘的哈希聚合

已记录的来源状态与原始语言说明;缺少版本证据时明确标为未知。

来源快照记录 PostgreSQL 8.1–18 的变化节点;历史矩阵独立记录 7.4–18 的状态。两者均未记录 PostgreSQL 19 或 20 的支持状态,较新版本明确保留为未知。这些来源声明与运行测量相互独立。

性能

说明

查询规划器现在可以在预计聚合将超过工作内存时考虑使用哈希聚合。

这可以通过两个配置参数进行控制:

所选版本: PostgreSQL 18

支持

比较版本

原始文档链接

已记录旧标识: 336

完整来源事实与出处

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"
  ]
}

完整来源数据 JSON