max_parallel_maintenance_workers

一个控制最大并行维护工作者的 GUC

max_parallel_maintenance_workers 是一个用于设置单个实用程序命令可以启动的最大并行工作者数量的 配置参数

max_parallel_maintenance_workersPostgreSQL 18 中添加。

用法

max_parallel_maintenance_workers 支持以下实用程序命令:

max_parallel_maintenance_workers 设置为 0 会禁用这些命令使用并行工作者。

请注意,max_parallel_maintenance_workers 是一个建议的最大值,规划器可能会选择使用更少(甚至不使用)并行工作者。此外,所有活动的并行进程的总数由 max_parallel_workers 决定,这意味着 max_parallel_maintenance_workers 中指定的数量在运行时可能实际上不可用。

默认

max_parallel_maintenance_workers 的默认值为:2

按 PostgreSQL 版本详细信息

max_parallel_maintenance_workers (PostgreSQL 19)

设置 2
单位  
类别 资源使用 / 工作进程
简短描述 设置每个维护操作的最大并行进程数。
扩展描述  
上下文 user
变量类型 整数
来源 默认
最小值 0
最大值 1024
枚举值  
启动值 2
重置值 2
源文件  
源行  
需要重启 false

文档max_parallel_maintenance_workers

max_parallel_maintenance_workers (PostgreSQL 18)

设置 2
单位  
类别 资源使用 / 工作进程
简短描述 设置每个维护操作的最大并行进程数。
扩展描述  
上下文 user
变量类型 整数
来源 默认
最小值 0
最大值 1024
枚举值  
启动值 2
重置值 2
源文件  
源行  
需要重启 false

文档max_parallel_maintenance_workers

max_parallel_maintenance_workers (PostgreSQL 17)

设置 2
单位  
类别 资源使用 / 异步行为
简短描述 设置每个维护操作的最大并行进程数。
扩展描述  
上下文 user
变量类型 整数
来源 默认
最小值 0
最大值 1024
枚举值  
启动值 2
重置值 2
源文件  
源行  
需要重启 false

文档max_parallel_maintenance_workers

max_parallel_maintenance_workers (PostgreSQL 16)

设置 2
单位  
类别 资源使用 / 异步行为
简短描述 设置每个维护操作的最大并行进程数。
扩展描述  
上下文 user
变量类型 整数
来源 默认
最小值 0
最大值 1024
枚举值  
启动值 2
重置值 2
源文件  
源行  
需要重启 false

文档max_parallel_maintenance_workers

max_parallel_maintenance_workers (PostgreSQL 15)

设置 2
单位  
类别 资源使用 / 异步行为
简短描述 设置每个维护操作的最大并行进程数。
扩展描述  
上下文 user
变量类型 整数
来源 默认
最小值 0
最大值 1024
枚举值  
启动值 2
重置值 2
源文件  
源行  
需要重启 false

文档max_parallel_maintenance_workers

max_parallel_maintenance_workers (PostgreSQL 14)

设置 2
单位  
类别 资源使用 / 异步行为
简短描述 设置每个维护操作的最大并行进程数。
扩展描述  
上下文 user
变量类型 整数
来源 默认
最小值 0
最大值 1024
枚举值  
启动值 2
重置值 2
源文件  
源行  
需要重启 false

文档max_parallel_maintenance_workers

max_parallel_maintenance_workers (PostgreSQL 13)

设置 2
单位  
类别 资源使用 / 异步行为
简短描述 设置每个维护操作的最大并行进程数。
扩展描述  
上下文 user
变量类型 整数
来源 默认
最小值 0
最大值 1024
枚举值  
启动值 2
重置值 2
源文件  
源行  
需要重启 false

文档max_parallel_maintenance_workers

max_parallel_maintenance_workers (PostgreSQL 12)

设置 2
单位  
类别 资源使用 / 异步行为
简短描述 设置每个维护操作的最大并行进程数。
扩展描述  
上下文 user
变量类型 整数
来源 默认
最小值 0
最大值 1024
枚举值  
启动值 2
重置值 2
源文件  
源行  
需要重启 false

文档max_parallel_maintenance_workers

max_parallel_maintenance_workers (PostgreSQL 11)

设置 2
单位  
类别 资源使用 / 异步行为
简短描述 设置每个维护操作的最大并行进程数。
扩展描述  
上下文 user
变量类型 整数
来源 默认
最小值 0
最大值 1024
枚举值  
启动值 2
重置值 2
源文件  
源行  
需要重启 false

文档max_parallel_maintenance_workers

变更历史

示例

实用程序命令调用实际使用的并行工作者数量无法直接查看,但可以通过将 client_min_messages 设置为 DEBUG1 来确定,这(对于 CREATE INDEX)会发出类似以下的日志消息:

DEBUG:  building index "..." on table "..." with request for ... parallel workers

正在监控创建索引时使用的并行工作者数量;请注意规划器选择的数量小于指定的 maximum

postgres=# SHOW max_parallel_maintenance_workers;
 max_parallel_maintenance_workers 
----------------------------------
 2
(1 row)

postgres=# CREATE INDEX foo_val_id_ix ON foo(id);
DEBUG:  building index "foo_val_id_ix" on table "foo" with request for 1 parallel workers

max_parallel_maintenance_workers 设置为 0 会禁用并行工作者的使用,例如这里用于 CREATE INDEX

postgres=# SET client_min_messages TO debug1;
SET

postgres=# BEGIN;
BEGIN

postgres=*# SET LOCAL max_parallel_maintenance_workers = 0;
SET

postgres=*# CREATE INDEX foo_val_id_ix ON foo(id);
DEBUG:  building index "foo_val_id_ix" on table "foo" serially

分类

GUC 配置项, 并行查询, 优化器

另请参阅

max_worker_processes, max_parallel_workers, max_parallel_workers_per_gather

反馈

提交对“max_parallel_maintenance_workers”的任何评论、建议或更正,请在此处 提交