default_statistics_target (integer)
为没有通过ALTER TABLE SET STATISTICS设置列相关目标的表列设置默认统计目标。更大的值增加了需要做ANALYZE的时间,但是可能会改善规划器的估计质量。默认值是 100。
constraint_exclusion (enum)
constraint_exclusion的允许值是on(对所有表检查约束)、off(从不检查约束)和partition(只对继承的子表和UNION ALL子查询检查约束)。partition是默认设置。它通常被用于继承和分区表来提高性能。当对一个特定表允许这个参数,规划器比较查询条件和表的CHECK约束,并且忽略那些条件违反约束的表扫描。例如:CREATE TABLE parent(key integer, ...); CREATE TABLE child1000(check (key between 1000 and 1999)) INHERITS(parent); CREATE TABLE child2000(check (key between 2000 and 2999)) INHERITS(parent); ... SELECT * FROM parent WHERE key = 2400;在启用约束排除时,这个SELECT将完全不会扫描child1000,从而提高性能。目前,约束排除只在用来实现表分区的情况中被默认启用。为所有表启用它会增加额外的规划开销,特别是在简单查询上并且不会产生任何好处。如果没有分区表时,最好是完全关闭它。、
cursor_tuple_fraction (floating point)
设置规划器对将被检索的一个游标的行的比例的估计。默认值是0.1。更小的值使得规划器偏向为游标使用“快速开始”计划,它将很快地检索前几行但是可能需要很长时间来获取所有行。更大的值强调总的估计时间。最大设置为 1.0,游标将和普通查询完全一样地被规划,只考虑总估计时间并且不考虑前几行会被多快地返回。
from_collapse_limit (integer)
如果生成的FROM列表不超过这么多项,规划器将把子查询融合到上层查询。较小的值可以减少规划时间,但是可能 会生成较差的查询计划。默认值是 8。将这个值设置为geqo_threshold或更大,可能触发使用 GEQO 规划器,从而产生非最优计划。
join_collapse_limit (integer)
如果得出的列表中不超过这么多项,那么规划器将把显式JOIN(除了FULL JOIN)结构重写到 FROM项列表中。较小的值可减少规划时间,但是可能会生成差些的查询计划。默认情况下,这个变量被设置成和from_collapse_limit相同,这样适合大多数使用。把它设置为 1 可避免任何显式JOIN的重排序。因此查询中指定的显式连接顺序就是关系被连接的实际顺序。因为查询规划器并不是总能 选取最优的连接顺序,高级用户可以选择暂时把这个变量设置为 1,然后显式地指定他们想要的连接顺序。将这个值设置为geqo_threshold或更大,可能触发使用 GEQO 规划器,从而产生非最优计划。
force_parallel_mode (enum)
允许为测试目的使用并行查询,即便是并不期望在性能上得到效益。force_parallel_mode的允许值是off (只在期望改进性能时才使用并行模式)、on (只要查询被认为是安全的,就强制使用并行查询)以及 regress(和on相似, 但是有如下文所解释的额外行为改变)。更具体地说,把这个值设置为on 会在任何一个对于并行查询安全的查询计划顶端增加一个 Gather节点,这样查询会在一个并行工作者中运行。即便当一个并行工作者不可用或者不能被使用时,诸如开始一个子事务等在并行查询环境中会被禁止的操作将会被禁止,除非规划器相信这样做会导致查询失败。 当这个选项被设置时如果出现失败或者意料之外的结果, 查询使用的某些函数可能需要被标记为PARALLEL UNSAFE (或者可能是PARALLEL RESTRICTED)。把这个值设置为regress具有设置成on 所有相同的效果,外加一些有助于自动回归测试的额外的效果。一般来说,来自于一个并行工作者的消息会包括一个上下文行指出这一点,但是设置为regress会消除这一行,这样输出就和非并行执行完全一样。同样,被这个设置加到计划上的 Gather节点在EXPLAIN输出终会被隐藏起来,这样产生的输出匹配设置为off时产生的输出。
enable_encoding_ndistinct_compute (bool)
使用列存储引擎存储列存表时,通过该参数设置pg_statistic_ext 规划器统计信息中的stxndistinct指标的计算方法是否使用列存中实现的编码计算方法,默认值为 false。