debug_print_plan
是一个 配置参数,用于控制是否记录查询计划。
debug_print_plan
在 PostgreSQL 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
更改历史记录
- PostgreSQL 8.4
- 输出出现在
LOG
消息级别(以前:DEBUG1
)(提交 9650830b)
- 输出出现在
- PostgreSQL 7.1
- 添加(提交 6a68f426)
示例
启用 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
参考
- PostgreSQL 文档: debug_print_plan