debug_print_plan

控制是否记录查询计划的配置参数

debug_print_plan 是一个 配置参数,用于控制是否记录查询计划。

debug_print_planPostgreSQL 7.1 中添加。

默认值

debug_print_plan 的默认值为:off

按 PostgreSQL 版本查看详细信息

debug_print_plan (PostgreSQL 17)

设置 off
单位  
类别 报告和日志记录 / 要记录的内容
简短描述 记录每个查询的执行计划。
额外描述  
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 off
重置值 off
源文件  
源代码行号  
等待重启 false

文档: debug_print_plan

debug_print_plan (PostgreSQL 16)

设置 off
单位  
类别 报告和日志记录 / 要记录的内容
简短描述 记录每个查询的执行计划。
额外描述  
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 off
重置值 off
源文件  
源代码行号  
等待重启 false

文档: debug_print_plan

debug_print_plan (PostgreSQL 15)

设置 off
单位  
类别 报告和日志记录 / 要记录的内容
简短描述 记录每个查询的执行计划。
额外描述  
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 off
重置值 off
源文件  
源代码行号  
等待重启 false

文档: debug_print_plan

debug_print_plan (PostgreSQL 14)

设置 off
单位  
类别 报告和日志记录 / 要记录的内容
简短描述 记录每个查询的执行计划。
额外描述  
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 off
重置值 off
源文件  
源代码行号  
等待重启 false

文档: debug_print_plan

debug_print_plan (PostgreSQL 13)

设置 off
单位  
类别 报告和日志记录 / 要记录的内容
简短描述 记录每个查询的执行计划。
额外描述  
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 off
重置值 off
源文件  
源代码行号  
等待重启 false

文档: debug_print_plan

debug_print_plan (PostgreSQL 12)

设置 off
单位  
类别 报告和日志记录 / 要记录的内容
简短描述 记录每个查询的执行计划。
额外描述  
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 off
重置值 off
源文件  
源代码行号  
等待重启 false

文档: debug_print_plan

debug_print_plan (PostgreSQL 11)

设置 off
单位  
类别 报告和日志记录 / 要记录的内容
简短描述 记录每个查询的执行计划。
额外描述  
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 off
重置值 off
源文件  
源代码行号  
等待重启 false

文档: debug_print_plan

debug_print_plan (PostgreSQL 10)

设置 off
单位  
类别 报告和日志记录 / 要记录的内容
简短描述 记录每个查询的执行计划。
额外描述  
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 off
重置值 off
源文件  
源代码行号  
等待重启 false

文档: debug_print_plan

debug_print_plan (PostgreSQL 9.6)

设置 off
单位  
类别 报告和日志记录 / 要记录的内容
简短描述 记录每个查询的执行计划。
额外描述  
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 off
重置值 off
源文件  
源代码行号  
等待重启 false

文档: debug_print_plan

debug_print_plan (PostgreSQL 9.5)

设置 off
单位  
类别 报告和日志记录 / 要记录的内容
简短描述 记录每个查询的执行计划。
额外描述  
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 off
重置值 off
源文件  
源代码行号  
等待重启 false

文档: debug_print_plan

debug_print_plan (PostgreSQL 9.4)

设置 off
单位  
类别 报告和日志记录 / 要记录的内容
简短描述 记录每个查询的执行计划。
额外描述  
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 off
重置值 off
源文件  
源代码行号  

文档: debug_print_plan

debug_print_plan (PostgreSQL 9.3)

设置 off
单位  
类别 报告和日志记录 / 要记录的内容
简短描述 记录每个查询的执行计划。
额外描述  
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 off
重置值 off
源文件  
源代码行号  

文档: debug_print_plan

debug_print_plan (PostgreSQL 9.2)

设置 off
单位  
类别 报告和日志记录 / 要记录的内容
简短描述 记录每个查询的执行计划。
额外描述  
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 off
重置值 off
源文件  
源代码行号  

文档: debug_print_plan

debug_print_plan (PostgreSQL 9.1)

设置 off
单位  
类别 报告和日志记录 / 要记录的内容
简短描述 记录每个查询的执行计划。
额外描述  
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 off
重置值 off
源文件  
源代码行号  

文档: debug_print_plan

debug_print_plan (PostgreSQL 9.0)

设置 off
单位  
类别 报告和日志记录 / 要记录的内容
简短描述 记录每个查询的执行计划。
额外描述  
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 off
重置值 off
源文件  
源代码行号  

文档: debug_print_plan

debug_print_plan (PostgreSQL 8.4)

设置 off
单位  
类别 报告和日志记录 / 要记录的内容
简短描述 记录每个查询的执行计划。
额外描述  
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 off
重置值 off
源文件  
源代码行号  

文档: debug_print_plan

debug_print_plan (PostgreSQL 8.3)

设置  
单位  
类别 报告和日志记录 / 要记录的内容
简短描述 将执行计划打印到服务器日志。
额外描述  
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  

文档: debug_print_plan

debug_print_plan (PostgreSQL 8.2)

设置  
单位  
类别 报告和日志记录 / 要记录的内容
简短描述 将执行计划打印到服务器日志。
额外描述  
上下文 用户
变量类型 bool
来源 默认
最小值  
最大值  

文档: debug_print_plan

更改历史记录

示例

启用 debug_print_plan 后的示例输出,用于任意查询(此处为插入到分区表的 INSERT

[2020-08-16 15:10:11 UTC] psql postgres postgres LOG:  00000: statement: INSERT INTO part_parent values(1,'foo')  returning *;
[2020-08-16 15:10:11 UTC] psql postgres postgres LOCATION:  exec_simple_query, postgres.c:1044
[2020-08-16 15:10:11 UTC] psql postgres postgres LOG:  00000: plan:
[2020-08-16 15:10:11 UTC] psql postgres postgres DETAIL:     {PLANNEDSTMT 
	   :commandType 3 
	   :queryId 0 
	   :hasReturning true 
	   :hasModifyingCTE false 
	   :canSetTag true 
	   :transientPlan false 
	   :dependsOnRole false 
	   :parallelModeNeeded false 
	   :jitFlags 0 
	   :planTree 
	      {MODIFYTABLE 
	      :startup_cost 0.00 
	      :total_cost 0.01 
	      :plan_rows 1 
	      :plan_width 86 
	      :parallel_aware false 
	      :parallel_safe false 
	      :plan_node_id 0 
	      :targetlist (
	         {TARGETENTRY 
	         :expr 
	            {VAR 
	            :varno 1 
	            :varattno 1 
	            :vartype 23 
	            :vartypmod -1 
	            :varcollid 0 
	            :varlevelsup 0 
	            :varnosyn 1 
	            :varattnosyn 1 
	            :location 51
	            }
	         :resno 1 
	         :resname id 
	         :ressortgroupref 0 
	         :resorigtbl 16490 
	         :resorigcol 1 
	         :resjunk false
	         }
	         {TARGETENTRY 
	         :expr 
	            {VAR 
	            :varno 1 
	            :varattno 2 
	            :vartype 1043 
	            :vartypmod 36 
	            :varcollid 100 
	            :varlevelsup 0 
	            :varnosyn 1 
	            :varattnosyn 2 
	            :location 51
	            }
	         :resno 2 
	         :resname val 
	         :ressortgroupref 0 
	         :resorigtbl 16490 
	         :resorigcol 2 
	         :resjunk false
	         }
	      )
	      :qual <> 
	      :lefttree <> 
	      :righttree <> 
	      :initPlan <> 
	      :extParam (b)
	      :allParam (b)
	      :operation 3 
	      :canSetTag true 
	      :nominalRelation 1 
	      :rootRelation 1 
	      :partColsUpdated false 
	      :resultRelations (i 1)
	      :resultRelIndex 0 
	      :rootResultRelIndex 0 
	      :plans (
	         {RESULT 
	         :startup_cost 0.00 
	         :total_cost 0.01 
	         :plan_rows 1 
	         :plan_width 86 
	         :parallel_aware false 
	         :parallel_safe false 
	         :plan_node_id 1 
	         :targetlist (
	            {TARGETENTRY 
	            :expr 
	               {CONST 
	               :consttype 23 
	               :consttypmod -1 
	               :constcollid 0 
	               :constlen 4 
	               :constbyval true 
	               :constisnull false 
	               :location 31 
	               :constvalue 4 [ 1 0 0 0 0 0 0 0 ]
	               }
	            :resno 1 
	            :resname id 
	            :ressortgroupref 0 
	            :resorigtbl 0 
	            :resorigcol 0 
	            :resjunk false
	            }
	            {TARGETENTRY 
	            :expr 
	               {CONST 
	               :consttype 1043 
	               :consttypmod 36 
	               :constcollid 100 
	               :constlen -1 
	               :constbyval false 
	               :constisnull false 
	               :location -1 
	               :constvalue 7 [ 28 0 0 0 102 111 111 ]
	               }
	            :resno 2 
	            :resname val 
	            :ressortgroupref 0 
	            :resorigtbl 0 
	            :resorigcol 0 
	            :resjunk false
	            }
	         )
	         :qual <> 
	         :lefttree <> 
	         :righttree <> 
	         :initPlan <> 
	         :extParam (b)
	         :allParam (b)
	         :resconstantqual <>
	         }
	      )
	      :withCheckOptionLists <> 
	      :returningLists ((
	         {TARGETENTRY 
	         :expr 
	            {VAR 
	            :varno 1 
	            :varattno 1 
	            :vartype 23 
	            :vartypmod -1 
	            :varcollid 0 
	            :varlevelsup 0 
	            :varnosyn 1 
	            :varattnosyn 1 
	            :location 51
	            }
	         :resno 1 
	         :resname id 
	         :ressortgroupref 0 
	         :resorigtbl 16490 
	         :resorigcol 1 
	         :resjunk false
	         }
	         {TARGETENTRY 
	         :expr 
	            {VAR 
	            :varno 1 
	            :varattno 2 
	            :vartype 1043 
	            :vartypmod 36 
	            :varcollid 100 
	            :varlevelsup 0 
	            :varnosyn 1 
	            :varattnosyn 2 
	            :location 51
	            }
	         :resno 2 
	         :resname val 
	         :ressortgroupref 0 
	         :resorigtbl 16490 
	         :resorigcol 2 
	         :resjunk false
	         }
	      ))
	      :fdwPrivLists (<>)
	      :fdwDirectModifyPlans (b)
	      :rowMarks <> 
	      :epqParam 0 
	      :onConflictAction 0 
	      :arbiterIndexes <> 
	      :onConflictSet <> 
	      :onConflictWhere <> 
	      :exclRelRTI 0 
	      :exclRelTlist <>
	      }
	   :rtable (
	      {RTE 
	      :alias <> 
	      :eref 
	         {ALIAS 
	         :aliasname part_parent 
	         :colnames ("id" "val")
	         }
	      :rtekind 0 
	      :relid 16490 
	      :relkind p 
	      :rellockmode 3 
	      :tablesample <> 
	      :lateral false 
	      :inh false 
	      :inFromCl false 
	      :requiredPerms 3 
	      :checkAsUser 0 
	      :selectedCols (b 8 9)
	      :insertedCols (b 8 9)
	      :updatedCols (b)
	      :extraUpdatedCols (b)
	      :securityQuals <>
	      }
	      {RTE 
	      :alias <> 
	      :eref 
	         {ALIAS 
	         :aliasname *RESULT* 
	         :colnames <>
	         }
	      :rtekind 8 
	      :lateral false 
	      :inh false 
	      :inFromCl false 
	      :requiredPerms 0 
	      :checkAsUser 0 
	      :selectedCols (b)
	      :insertedCols (b)
	      :updatedCols (b)
	      :extraUpdatedCols (b)
	      :securityQuals <>
	      }
	   )
	   :resultRelations (i 1)
	   :rootResultRelations (i 1)
	   :appendRelations <> 
	   :subplans <> 
	   :rewindPlanIDs (b)
	   :rowMarks <> 
	   :relationOids (o 16490)
	   :invalItems <> 
	   :paramExecTypes (o 0)
	   :utilityStmt <> 
	   :stmt_location 0 
	   :stmt_len 52
	   }
	
[2020-08-16 15:10:11 UTC] psql postgres postgres LOCATION:  elog_node_display, print.c:85

分类

GUC 配置项日志记录规划器

另请参阅

debug_print_parsedebug_print_rewrittendebug_pretty_print

反馈

提交任何关于“debug_print_plan”的评论、建议或更正 此处