debug_print_parse

控制是否记录查询解析树的一个配置参数

debug_print_parse 是一个 配置参数,控制是否记录查询的解析树。

debug_print_parse 添加于 PostgreSQL 7.1

默认值

debug_print_parse 的默认值为:off

按 PostgreSQL 版本查看详情

debug_print_parse (PostgreSQL 17)

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

文档: debug_print_parse

debug_print_parse (PostgreSQL 16)

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

文档: debug_print_parse

debug_print_parse (PostgreSQL 15)

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

文档: debug_print_parse

debug_print_parse (PostgreSQL 14)

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

文档: debug_print_parse

debug_print_parse (PostgreSQL 13)

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

文档: debug_print_parse

debug_print_parse (PostgreSQL 12)

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

文档: debug_print_parse

debug_print_parse (PostgreSQL 11)

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

文档: debug_print_parse

debug_print_parse (PostgreSQL 10)

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

文档: debug_print_parse

debug_print_parse (PostgreSQL 9.6)

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

文档: debug_print_parse

debug_print_parse (PostgreSQL 9.5)

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

文档: debug_print_parse

debug_print_parse (PostgreSQL 9.4)

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

文档: debug_print_parse

debug_print_parse (PostgreSQL 9.3)

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

文档: debug_print_parse

debug_print_parse (PostgreSQL 9.2)

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

文档: debug_print_parse

debug_print_parse (PostgreSQL 9.1)

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

文档: debug_print_parse

debug_print_parse (PostgreSQL 9.0)

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

文档: debug_print_parse

debug_print_parse (PostgreSQL 8.4)

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

文档: debug_print_parse

debug_print_parse (PostgreSQL 8.3)

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

文档: debug_print_parse

debug_print_parse (PostgreSQL 8.2)

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

文档: debug_print_parse

更改历史

示例

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

[2020-08-16 14:32:05 UTC] psql postgres postgres LOG:  00000: statement: INSERT INTO part_parent VALUES(1,'foo')  RETURNING *;
[2020-08-16 14:32:05 UTC] psql postgres postgres LOCATION:  exec_simple_query, postgres.c:1044
[2020-08-16 14:32:05 UTC] psql postgres postgres LOG:  00000: parse tree:
[2020-08-16 14:32:05 UTC] psql postgres postgres DETAIL:     {QUERY 
	   :commandType 3 
	   :querySource 0 
	   :canSetTag true 
	   :utilityStmt <> 
	   :resultRelation 1 
	   :hasAggs false 
	   :hasWindowFuncs false 
	   :hasTargetSRFs false 
	   :hasSubLinks false 
	   :hasDistinctOn false 
	   :hasRecursive false 
	   :hasModifyingCTE false 
	   :hasForUpdate false 
	   :hasRowSecurity false 
	   :cteList <> 
	   :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 <>
	      }
	   )
	   :jointree 
	      {FROMEXPR 
	      :fromlist <> 
	      :quals <>
	      }
	   :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 
	         {FUNCEXPR 
	         :funcid 669 
	         :funcresulttype 1043 
	         :funcretset false 
	         :funcvariadic false 
	         :funcformat 2 
	         :funccollid 100 
	         :inputcollid 100 
	         :args (
	            {CONST 
	            :consttype 1043 
	            :consttypmod -1 
	            :constcollid 100 
	            :constlen -1 
	            :constbyval false 
	            :constisnull false 
	            :location 33 
	            :constvalue 7 [ 28 0 0 0 102 111 111 ]
	            }
	            {CONST 
	            :consttype 23 
	            :consttypmod -1 
	            :constcollid 0 
	            :constlen 4 
	            :constbyval true 
	            :constisnull false 
	            :location -1 
	            :constvalue 4 [ 36 0 0 0 0 0 0 0 ]
	            }
	            {CONST 
	            :consttype 16 
	            :consttypmod -1 
	            :constcollid 0 
	            :constlen 1 
	            :constbyval true 
	            :constisnull false 
	            :location -1 
	            :constvalue 1 [ 0 0 0 0 0 0 0 0 ]
	            }
	         )
	         :location -1
	         }
	      :resno 2 
	      :resname val 
	      :ressortgroupref 0 
	      :resorigtbl 0 
	      :resorigcol 0 
	      :resjunk false
	      }
	   )
	   :override 0 
	   :onConflict <> 
	   :returningList (
	      {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
	      }
	   )
	   :groupClause <> 
	   :groupingSets <> 
	   :havingQual <> 
	   :windowClause <> 
	   :distinctClause <> 
	   :sortClause <> 
	   :limitOffset <> 
	   :limitCount <> 
	   :limitOption 0 
	   :rowMarks <> 
	   :setOperations <> 
	   :constraintDeps <> 
	   :withCheckOptions <> 
	   :stmt_location 0 
	   :stmt_len 52
	   }
	
[2020-08-16 14:32:05 UTC] psql postgres postgres LOCATION:  elog_node_display, print.c:85

分类

GUC 配置项日志记录计划器PostgreSQL 内部

参见

debug_print_rewrittendebug_print_plandebug_pretty_print

反馈

提交任何关于 "debug_print_parse" 的评论、建议或更正 此处