顾乔芝士网

持续更新的前后端开发技术栈

PostgreSQL并行查询相关配置参数


作者:阎书利


1. max_worker_processes(integer)


设置系统支持的最大后台进程数,默认为8

如果备库设置,备库上此参数必须大于或等于主库上的此参数配置值

此参数调整,需要重启数据库生效


2. max_parallel_workers(integer)


设置系统支持的并行查询进程数,默认8

这个参数值不能高于max_worker_processes

调整这个参数,建议同时调整
max_parallel_workers_per_gather参数值


3. max_parallel_workers_per_gather(integer)


设置允许启用的并行进程的进程数,默认2

设置成0,表示禁用并行进程


上述参数的设置关系约束如下:
max_worker_processes  > max_parallel_workers > max_parallel_workders_per_gather


4. parallel_setup_cost(floating point)


设置优化器启动并行进程的成本,默认为1000


5. parallel_tuple_cost(floating point)


设置优化器通过并行进程处理一行数据的成本,默认为0.1


6. min_parallel_table_scan_size(integer)


设置开启并行的条件之一,表占用空间小于此值将不会开启并行

并行顺序扫描场景下扫描的数据大小通常等于表大小,默认值8M


7. min_parallel_index_scan_size(integer)


设置开启并行的条件之一,实际上并行扫描不会扫描索引所有数据块

只是扫描索引相关数据块,默认值为512kb


8. force_parallel_mode(enum)


强制开启并行,一般作为测试目的


案例配置文件 postgresql.conf


max_worker_processes = 16
max_parallel_workers_per_gather = 4
max_parallel_workers = 8
parallel_tuple_cost = 0.1
parallel_setup_cost = 1000.0
min_parallel_table_scan_size = 8MB
min_parallel_index_scan_size = 512kB
force_parallel_mode = off
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言