plan_cache_mode
一个控制预编译语句是使用自定义计划还是通用计划的 GUC
plan_cache_mode 是一个配置参数,用于控制预编译语句是使用自定义计划还是通用计划。
plan_cache_mode 在 PostgreSQL 12 中添加。
用法
plan_cache_mode 可以设置为以下值之一:
auto
force_custom_plan
force_generic_plan
默认值
plan_cache_mode 的默认值为:auto。
按 PostgreSQL 版本详细信息
plan_cache_mode (PostgreSQL 19)
| 设置 |
auto |
| 单位 |
|
| 类别 |
查询调优 / 其他规划器选项 |
| 简短描述 |
控制查询规划器选择自定义计划或通用计划。 |
| 扩展描述 |
预编译语句可以有自定义计划和通用计划,查询规划器会尝试选择哪个更好。此设置可以用来覆盖默认行为。 |
| 上下文 |
user |
| 变量类型 |
enum |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
auto, force_generic_plan, force_custom_plan |
| 启动值 |
auto |
| 重置值 |
auto |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:plan_cache_mode
plan_cache_mode (PostgreSQL 18)
| 设置 |
auto |
| 单位 |
|
| 类别 |
查询调优 / 其他规划器选项 |
| 简短描述 |
控制查询规划器选择自定义计划或通用计划。 |
| 扩展描述 |
预编译语句可以有自定义计划和通用计划,查询规划器会尝试选择哪个更好。此设置可以用来覆盖默认行为。 |
| 上下文 |
user |
| 变量类型 |
enum |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
auto, force_generic_plan, force_custom_plan |
| 启动值 |
auto |
| 重置值 |
auto |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:plan_cache_mode
plan_cache_mode (PostgreSQL 17)
| 设置 |
auto |
| 单位 |
|
| 类别 |
查询调优 / 其他规划器选项 |
| 简短描述 |
控制查询规划器选择自定义计划或通用计划。 |
| 扩展描述 |
预编译语句可以有自定义计划和通用计划,查询规划器会尝试选择哪个更好。此设置可以用来覆盖默认行为。 |
| 上下文 |
user |
| 变量类型 |
enum |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
auto, force_generic_plan, force_custom_plan |
| 启动值 |
auto |
| 重置值 |
auto |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:plan_cache_mode
plan_cache_mode (PostgreSQL 16)
| 设置 |
auto |
| 单位 |
|
| 类别 |
查询调优 / 其他规划器选项 |
| 简短描述 |
控制查询规划器选择自定义计划或通用计划。 |
| 扩展描述 |
预编译语句可以有自定义计划和通用计划,查询规划器会尝试选择哪个更好。此设置可以用来覆盖默认行为。 |
| 上下文 |
user |
| 变量类型 |
enum |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
auto, force_generic_plan, force_custom_plan |
| 启动值 |
auto |
| 重置值 |
auto |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:plan_cache_mode
plan_cache_mode (PostgreSQL 15)
| 设置 |
auto |
| 单位 |
|
| 类别 |
查询调优 / 其他规划器选项 |
| 简短描述 |
控制查询规划器选择自定义计划或通用计划。 |
| 扩展描述 |
预编译语句可以有自定义计划和通用计划,查询规划器会尝试选择哪个更好。此设置可以用来覆盖默认行为。 |
| 上下文 |
user |
| 变量类型 |
enum |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
auto, force_generic_plan, force_custom_plan |
| 启动值 |
auto |
| 重置值 |
auto |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:plan_cache_mode
plan_cache_mode (PostgreSQL 14)
| 设置 |
auto |
| 单位 |
|
| 类别 |
查询调优 / 其他规划器选项 |
| 简短描述 |
控制查询规划器选择自定义计划或通用计划。 |
| 扩展描述 |
预编译语句可以有自定义计划和通用计划,查询规划器会尝试选择哪个更好。此设置可以用来覆盖默认行为。 |
| 上下文 |
user |
| 变量类型 |
enum |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
auto, force_generic_plan, force_custom_plan |
| 启动值 |
auto |
| 重置值 |
auto |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:plan_cache_mode
plan_cache_mode (PostgreSQL 13)
| 设置 |
auto |
| 单位 |
|
| 类别 |
查询调优 / 其他规划器选项 |
| 简短描述 |
控制查询规划器选择自定义计划或通用计划。 |
| 扩展描述 |
预编译语句可以有自定义计划和通用计划,查询规划器会尝试选择哪个更好。此设置可以用来覆盖默认行为。 |
| 上下文 |
user |
| 变量类型 |
enum |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
auto, force_generic_plan, force_custom_plan |
| 启动值 |
auto |
| 重置值 |
auto |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:plan_cache_mode
plan_cache_mode (PostgreSQL 12)
| 设置 |
auto |
| 单位 |
|
| 类别 |
查询调优 / 其他规划器选项 |
| 简短描述 |
控制查询规划器选择自定义计划或通用计划。 |
| 扩展描述 |
预编译语句可以有自定义计划和通用计划,查询规划器会尝试选择哪个更好。此设置可以用来覆盖默认行为。 |
| 上下文 |
user |
| 变量类型 |
enum |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
auto, force_generic_plan, force_custom_plan |
| 启动值 |
auto |
| 重置值 |
auto |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:plan_cache_mode
变更历史