DB Internals AtlasPostgreSQL 18.6 Home About

Parameters

Query Tuning

52 PostgreSQL 18.6 parameters. Each one has its own animation and explanation.

Genetic Query Optimizer

  • geqo: Use the genetic query optimizer for joins of many tables.
  • geqo_effort: One knob (1–10) that scales GEQO pool size and generations.
  • geqo_generations: Number of GEQO breeding rounds. 0 = same as the pool size.
  • geqo_pool_size: Number of candidate join orders in the GEQO population. 0 = automatic.
  • geqo_seed: Seed for GEQO's random choices; same seed + same query = same plan.
  • geqo_selection_bias: How strongly GEQO prefers the best join orders as parents (1.5–2.0).
  • geqo_threshold: Number of FROM items at which the genetic optimizer takes over.

Other Planner Options

  • constraint_exclusion: Use CHECK constraints to skip tables (inheritance, UNION ALL) that cannot match.
  • cursor_tuple_fraction: Fraction of a cursor's rows the planner expects to be fetched.
  • default_statistics_target: How detailed ANALYZE statistics are: sample size, histogram buckets, common values.
  • from_collapse_limit: Max FROM-list size for merging a subquery into the outer query's join search.
  • jit: Master switch for JIT compilation of query expressions with LLVM.
  • join_collapse_limit: Max list size for reordering explicit JOINs; 1 keeps the written order.
  • plan_cache_mode: Choose custom plans, generic plans, or let PostgreSQL decide for prepared statements.
  • recursive_worktable_factor: Planner guess of a recursive CTE's working table size, as a multiple of its start.

Planner Cost Constants

Planner Method Configuration