选择 打开 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

文档 / 配置参数 / 预置选项

CONFIGURATION PARAMETER预置选项

max_index_keys

显示索引键数量上限。

Shows the maximum number of index keys.

整数 内部 引入 9.0(基线) 现存至 20 devel 0 次默认值变更

类型
整数integer
上下文
内部由编译或 initdb 决定,运行时不能修改
默认值
32
取值范围
32 – 32
分类
预置选项
引入版本
9.0(基线)
状态
现存

PostgreSQL 18 手册 官方文档

版本轨迹

相对 PostgreSQL 17 无变化。

默认值变迁

32 9.0 – 20

默认值自 PostgreSQL 9.0 起没有变过。带单位的取值换算成了可读形式,原始的 boot_val 与单位写在悬浮提示里。

手册说明

PostgreSQL 18 手册 · 19.15 预置选项 本站手册 官方原文

本版译文与 PostgreSQL 10 完全一致,下面就是同一段文字。

报告索引键的最大数目。它由编译服务器时的INDEX_MAX_KEYS值决定。默认值是 32 个键。

机制详解

显示索引键数量上限。它是只读状态,不能通过 SET 或修改配置文件来改变。

它暴露 INDEX_MAX_KEYS 构建上限,约束索引属性数量(适用时也包括 INCLUDE 列)。

联动解读应同时查看 max_function_args、max_identifier_length、block_size。应用与运维工具可读取 max_index_keys 做能力或环境判断,但不能依靠 SET 改变它;跨集群比较时还要考虑构建、initdb 与当前数据库差异。

调优建议

按典型负载给出的取值思路,不是放之四海皆准的配方:实际取值要看数据量、并发度与硬件。

  • OLTP在线事务处理

    不可调。把 max_index_keys 当作部署与能力事实记录;若与预期不符,应修正二进制、initdb 或数据库创建流程,而不是 SET。

  • OLAP分析与批处理

    不可调。用 max_index_keys 校验分析节点的格式、构建或资源假设,并确保所有读写节点兼容。

  • 小规格低配实例与开发机

    不可调。只需在清单与故障报告中保留该值;不要为改变它而做不必要的自定义构建或重建。

常见问题

  • 尝试用 SET 或配置文件改变只读的 max_index_keys。
  • 假定所有集群、数据库或发行包的报告值相同。
  • 在文件格式或功能兼容性检查中忽略该值。
  • 把显示值当作性能目标,而不是环境事实。

演化历史

相邻两个大版本之间的差异,新的在前。版本号链到该版的快照。

  1. PostgreSQL 20 ← 19 沿用 19

    事实沿用 19

逐版本快照

每个收录版本里的 7 项事实,与上一个存在的版本不同的格子带底色。版本号链到该版。

版本 默认值单位上下文类型最小值最大值枚举值
9.0 32 内部 整数 32 32
9.1 32 内部 整数 32 32
9.2 32 内部 整数 32 32
9.3 32 内部 整数 32 32
9.4 32 内部 整数 32 32
9.5 32 内部 整数 32 32
9.6 32 内部 整数 32 32
10 32 内部 整数 32 32
11 32 内部 整数 32 32
12 32 内部 整数 32 32
13 32 内部 整数 32 32
14 32 内部 整数 32 32
15 32 内部 整数 32 32
16 32 内部 整数 32 32
17 32 内部 整数 32 32
18 32 内部 整数 32 32
19 32 内部 整数 32 32
20 沿用 32 内部 整数 32 32

参考资料

同类参数

参数 类型 上下文 默认值 版本变动 最近变更
Preset Options 预置选项 24 个
block_size 整数 内部 8192
显示磁盘页块大小。 现存
data_checksums 布尔 内部 off 191 次
显示该集群是否启用了数据校验和。 现存
data_directory_mode 整数 内部 448
显示数据目录的权限模式。 现存
debug_assertions 布尔 内部 off 9.51 次
显示运行中的服务器是否启用了断言检查。 现存
debug_exec_backend 布尔 内部 off
显示运行中的服务器是否启用了 EXEC_BACKEND 构建选项。 现存
effective_wal_level 枚举 内部 replica
显示系统当前实际生效的 WAL 级别。 现存
huge_pages_status 枚举 内部 unknown
显示大页的使用状态。 现存
in_hot_standby 布尔 内部 off
显示当前是否处于 hot standby 状态。 现存
integer_datetimes 布尔 内部 on
显示日期时间是否采用整数表示。 现存
lc_collate 字符串 内部 C
显示排序规则所使用的区域设置。 于 16 移除
lc_ctype 字符串 内部 C
显示字符分类与大小写转换所使用的区域设置。 于 16 移除
max_function_args 整数 内部 100
显示函数参数数量上限。 现存
max_identifier_length 整数 内部 63
显示标识符长度上限。 现存
max_index_keys 整数 内部 32
显示索引键数量上限。 现存
num_os_semaphores 整数 内部 0
显示服务器所需的操作系统信号量数量。 现存
segment_size 整数 内部 1 GiB (131072 × 8kB)
显示每个磁盘文件所含的页数。 现存
server_encoding 字符串 内部 SQL_ASCII
显示服务器(数据库)字符集编码。 现存
server_version 字符串 内部 18.6 (Debian 18.6-1.pgdg13+2) 1916 次
显示服务器版本。 现存
server_version_num 整数 内部 180006 1916 次
以整数形式显示服务器版本。 现存
shared_memory_size 整数 内部 0 B
显示服务器主共享内存区的大小(向上取整到 MB)。 现存
shared_memory_size_in_huge_pages 整数 内部 -1
显示主共享内存区所需的大页数量。 现存
ssl_library 字符串 内部 OpenSSL
显示 SSL 库的名称。 现存
wal_block_size 整数 内部 8192
显示预写日志块大小。 现存
wal_segment_size 整数 内部 16 MiB 111 次
显示预写日志段文件大小。 现存