# 查询调优

> Query Tuning 分类下的 55 个 PostgreSQL 核心配置参数档案。
---

条目 URL 保持扁平；本分类仅用于侧栏与浏览组织。

---

本节页面：

- [constraint_exclusion](/zh/parameters/constraint-exclusion/): constraint_exclusion：允许规划器利用约束排除不可能匹配的表。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 partition，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [cpu_index_tuple_cost](/zh/parameters/cpu-index-tuple-cost/): cpu_index_tuple_cost：设置规划器处理每个索引条目的成本估计。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 0.005，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [cpu_operator_cost](/zh/parameters/cpu-operator-cost/): cpu_operator_cost：设置规划器执行每个操作符或函数调用的成本估计。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 0.0025，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [cpu_tuple_cost](/zh/parameters/cpu-tuple-cost/): cpu_tuple_cost：设置规划器处理每个元组（行）的成本估计。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 0.01，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [cursor_tuple_fraction](/zh/parameters/cursor-tuple-fraction/): cursor_tuple_fraction：设置规划器对游标实际取回行比例的估计。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 0.1，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [default_statistics_target](/zh/parameters/default-statistics-target/): 为没有单独目标值的列设置 ANALYZE 默认统计细节级别。更多细节可能改善基数估算，但会增加统计收集时间和系统目录空间。
- [effective_cache_size](/zh/parameters/effective-cache-size/): 规划器对单条查询可用 PostgreSQL 数据缓存规模的估计；它影响成本计算，但不会分配内存。
- [enable_async_append](/zh/parameters/enable-async-append/): enable_async_append：允许规划器使用异步 Append 计划。实测在档范围为 PG14–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 on，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [enable_bitmapscan](/zh/parameters/enable-bitmapscan/): enable_bitmapscan：允许规划器使用位图扫描计划。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 on，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [enable_distinct_reordering](/zh/parameters/enable-distinct-reordering/): enable_distinct_reordering：允许规划器重排 DISTINCT 键。实测在档范围为 PG18–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 on，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [enable_eager_aggregate](/zh/parameters/enable-eager-aggregate/): enable_eager_aggregate：允许规划器把部分聚合提前推过连接。实测在档范围为 PG19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 on，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [enable_gathermerge](/zh/parameters/enable-gathermerge/): enable_gathermerge：允许规划器使用 Gather Merge 计划。实测在档范围为 PG10–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 on，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [enable_group_by_reordering](/zh/parameters/enable-group-by-reordering/): enable_group_by_reordering：允许规划器重排 GROUP BY 键。实测在档范围为 PG17–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 on，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [enable_hashagg](/zh/parameters/enable-hashagg/): enable_hashagg：允许规划器使用哈希聚合计划。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 on，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [enable_hashjoin](/zh/parameters/enable-hashjoin/): enable_hashjoin：允许规划器使用哈希连接计划。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 on，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [enable_incremental_sort](/zh/parameters/enable-incremental-sort/): enable_incremental_sort：允许规划器使用增量排序步骤。实测在档范围为 PG13–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 on，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [enable_indexonlyscan](/zh/parameters/enable-indexonlyscan/): enable_indexonlyscan：允许规划器使用仅索引扫描计划。实测在档范围为 PG9.2–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 on，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [enable_indexscan](/zh/parameters/enable-indexscan/): enable_indexscan：允许规划器使用索引扫描计划。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 on，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [enable_material](/zh/parameters/enable-material/): enable_material：允许规划器插入物化节点。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 on，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [enable_memoize](/zh/parameters/enable-memoize/): enable_memoize：允许规划器使用 Memoize 缓存节点。实测在档范围为 PG14–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 on，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [enable_mergejoin](/zh/parameters/enable-mergejoin/): enable_mergejoin：允许规划器使用归并连接计划。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 on，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [enable_nestloop](/zh/parameters/enable-nestloop/): enable_nestloop：允许规划器使用嵌套循环连接计划。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 on，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [enable_parallel_append](/zh/parameters/enable-parallel-append/): enable_parallel_append：允许规划器使用并行感知的 Append 计划。实测在档范围为 PG11–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 on，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [enable_parallel_hash](/zh/parameters/enable-parallel-hash/): enable_parallel_hash：允许规划器使用并行哈希计划。实测在档范围为 PG11–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 on，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [enable_partition_pruning](/zh/parameters/enable-partition-pruning/): enable_partition_pruning：允许在规划和执行阶段裁剪分区。实测在档范围为 PG11–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 on，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [enable_partitionwise_aggregate](/zh/parameters/enable-partitionwise-aggregate/): enable_partitionwise_aggregate：允许按分区执行聚合与分组。实测在档范围为 PG11–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 off，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [enable_partitionwise_join](/zh/parameters/enable-partitionwise-join/): enable_partitionwise_join：允许按匹配分区执行连接。实测在档范围为 PG11–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 off，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [enable_presorted_aggregate](/zh/parameters/enable-presorted-aggregate/): enable_presorted_aggregate：允许规划器为带 ORDER BY 或 DISTINCT 的聚合提供预排序输入。实测在档范围为 PG16–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 on，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [enable_self_join_elimination](/zh/parameters/enable-self-join-elimination/): enable_self_join_elimination：允许消除可证明冗余的唯一自连接。实测在档范围为 PG18–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 on，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [enable_seqscan](/zh/parameters/enable-seqscan/): enable_seqscan：允许规划器使用顺序扫描计划。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 on，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [enable_sort](/zh/parameters/enable-sort/): enable_sort：允许规划器使用显式排序步骤。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 on，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [enable_tidscan](/zh/parameters/enable-tidscan/): enable_tidscan：允许规划器使用 TID 扫描计划。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 on，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [from_collapse_limit](/zh/parameters/from-collapse-limit/): from_collapse_limit：设置不再折叠子查询的 FROM 列表规模阈值。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 8，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [geqo](/zh/parameters/geqo/): geqo：启用遗传查询优化。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 on，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [geqo_effort](/zh/parameters/geqo-effort/): geqo_effort：设置 GEQO 用于推导其他参数默认值的工作强度。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 5，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [geqo_generations](/zh/parameters/geqo-generations/): geqo_generations：设置 GEQO 算法迭代代数。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 0，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [geqo_pool_size](/zh/parameters/geqo-pool-size/): geqo_pool_size：设置 GEQO 种群中的个体数。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 0，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [geqo_seed](/zh/parameters/geqo-seed/): geqo_seed：设置 GEQO 随机路径选择的种子。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 0，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [geqo_selection_bias](/zh/parameters/geqo-selection-bias/): geqo_selection_bias：设置 GEQO 种群内的选择压力。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 2，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [geqo_threshold](/zh/parameters/geqo-threshold/): geqo_threshold：设置 FROM 项达到多少时改用 GEQO。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 12，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [jit](/zh/parameters/jit/): 当构建包含可用的 JIT 实现且计划估算成本越过阈值时，允许 PostgreSQL 使用即时编译。开启并不意味着每条查询都会执行 JIT。
- [jit_above_cost](/zh/parameters/jit-above-cost/): jit_above_cost：设置启用 JIT 编译的查询成本阈值。实测在档范围为 PG11–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 100000，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [jit_inline_above_cost](/zh/parameters/jit-inline-above-cost/): jit_inline_above_cost：设置 JIT 尝试内联的查询成本阈值。实测在档范围为 PG11–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 500000，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [jit_optimize_above_cost](/zh/parameters/jit-optimize-above-cost/): jit_optimize_above_cost：设置 JIT 执行昂贵优化的查询成本阈值。实测在档范围为 PG11–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 500000，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [join_collapse_limit](/zh/parameters/join-collapse-limit/): join_collapse_limit：设置不再展平 JOIN 构造的 FROM 列表规模阈值。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 8，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [min_eager_agg_group_size](/zh/parameters/min-eager-agg-group-size/): min_eager_agg_group_size：设置考虑提前聚合所需的最小平均分组大小。实测在档范围为 PG19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 8，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [min_parallel_index_scan_size](/zh/parameters/min-parallel-index-scan-size/): min_parallel_index_scan_size：设置考虑并行索引扫描所需的最小索引数据量。实测在档范围为 PG10–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 512 KiB (64 × 8kB)，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [min_parallel_relation_size](/zh/parameters/min-parallel-relation-size/): min_parallel_relation_size：设置可考虑并行扫描的关系最小尺寸。实测在档范围为 PG9.6；最后在档的 PG9.6 启动默认值为 8 MiB (1024 × 8kB)，context 为 user。它在 PG10 被移除。
- [min_parallel_table_scan_size](/zh/parameters/min-parallel-table-scan-size/): min_parallel_table_scan_size：设置考虑并行表扫描所需的最小表数据量。实测在档范围为 PG10–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 8 MiB (1024 × 8kB)，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [parallel_setup_cost](/zh/parameters/parallel-setup-cost/): parallel_setup_cost：设置规划器启动并行工作进程的成本估计。实测在档范围为 PG9.6–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 1000，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [parallel_tuple_cost](/zh/parameters/parallel-tuple-cost/): parallel_tuple_cost：设置把每行从并行 worker 传给 leader 的成本估计。实测在档范围为 PG9.6–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 0.1，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [plan_cache_mode](/zh/parameters/plan-cache-mode/): plan_cache_mode：控制规划器选择自定义计划还是通用计划。实测在档范围为 PG12–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 auto，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [random_page_cost](/zh/parameters/random-page-cost/): 这是描述非顺序页面访问相对顺序访问成本的规划器常量。降低它会让索引和位图访问路径显得更便宜，但不会改变存储系统本身的行为。
- [recursive_worktable_factor](/zh/parameters/recursive-worktable-factor/): recursive_worktable_factor：设置递归查询工作表平均大小的规划器估计倍数。实测在档范围为 PG15–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 10，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
- [seq_page_cost](/zh/parameters/seq-page-cost/): seq_page_cost：设置规划器顺序读取磁盘页面的成本估计。实测在档范围为 PG9.0–19 Beta 3；最后在档的 PG19 Beta 3 启动默认值为 1，context 为 user。这是测试版快照事实，PostgreSQL 19 正式发布前仍可能变化。
