debug_print_rewritten
是一个 配置参数,用于控制是否记录查询重写器输出。
debug_print_rewritten
在 PostgreSQL 7.1 中添加。
默认值
debug_print_rewritten
的默认值为:off
。
按 PostgreSQL 版本查看详细信息
debug_print_rewritten (PostgreSQL 17)
设置 |
off |
单位 |
|
类别 |
报告和日志记录 / 记录内容 |
简短描述 |
记录每个查询的重写解析树。 |
额外描述 |
|
上下文 |
用户 |
变量类型 |
bool |
来源 |
默认 |
最小值 |
|
最大值 |
|
枚举值 |
|
启动值 |
off |
重置值 |
off |
源文件 |
|
源代码行 |
|
挂起重启 |
false |
文档: debug_print_rewritten
debug_print_rewritten (PostgreSQL 16)
设置 |
off |
单位 |
|
类别 |
报告和日志记录 / 记录内容 |
简短描述 |
记录每个查询的重写解析树。 |
额外描述 |
|
上下文 |
用户 |
变量类型 |
bool |
来源 |
默认 |
最小值 |
|
最大值 |
|
枚举值 |
|
启动值 |
off |
重置值 |
off |
源文件 |
|
源代码行 |
|
挂起重启 |
false |
文档: debug_print_rewritten
debug_print_rewritten (PostgreSQL 15)
设置 |
off |
单位 |
|
类别 |
报告和日志记录 / 记录内容 |
简短描述 |
记录每个查询的重写解析树。 |
额外描述 |
|
上下文 |
用户 |
变量类型 |
bool |
来源 |
默认 |
最小值 |
|
最大值 |
|
枚举值 |
|
启动值 |
off |
重置值 |
off |
源文件 |
|
源代码行 |
|
挂起重启 |
false |
文档: debug_print_rewritten
debug_print_rewritten (PostgreSQL 14)
设置 |
off |
单位 |
|
类别 |
报告和日志记录 / 记录内容 |
简短描述 |
记录每个查询的重写解析树。 |
额外描述 |
|
上下文 |
用户 |
变量类型 |
bool |
来源 |
默认 |
最小值 |
|
最大值 |
|
枚举值 |
|
启动值 |
off |
重置值 |
off |
源文件 |
|
源代码行 |
|
挂起重启 |
false |
文档: debug_print_rewritten
debug_print_rewritten (PostgreSQL 13)
设置 |
off |
单位 |
|
类别 |
报告和日志记录 / 记录内容 |
简短描述 |
记录每个查询的重写解析树。 |
额外描述 |
|
上下文 |
用户 |
变量类型 |
bool |
来源 |
默认 |
最小值 |
|
最大值 |
|
枚举值 |
|
启动值 |
off |
重置值 |
off |
源文件 |
|
源代码行 |
|
挂起重启 |
false |
文档: debug_print_rewritten
debug_print_rewritten (PostgreSQL 12)
设置 |
off |
单位 |
|
类别 |
报告和日志记录 / 记录内容 |
简短描述 |
记录每个查询的重写解析树。 |
额外描述 |
|
上下文 |
用户 |
变量类型 |
bool |
来源 |
默认 |
最小值 |
|
最大值 |
|
枚举值 |
|
启动值 |
off |
重置值 |
off |
源文件 |
|
源代码行 |
|
挂起重启 |
false |
文档: debug_print_rewritten
debug_print_rewritten (PostgreSQL 11)
设置 |
off |
单位 |
|
类别 |
报告和日志记录 / 记录内容 |
简短描述 |
记录每个查询的重写解析树。 |
额外描述 |
|
上下文 |
用户 |
变量类型 |
bool |
来源 |
默认 |
最小值 |
|
最大值 |
|
枚举值 |
|
启动值 |
off |
重置值 |
off |
源文件 |
|
源代码行 |
|
挂起重启 |
false |
文档: debug_print_rewritten
debug_print_rewritten (PostgreSQL 10)
设置 |
off |
单位 |
|
类别 |
报告和日志记录 / 记录内容 |
简短描述 |
记录每个查询的重写解析树。 |
额外描述 |
|
上下文 |
用户 |
变量类型 |
bool |
来源 |
默认 |
最小值 |
|
最大值 |
|
枚举值 |
|
启动值 |
off |
重置值 |
off |
源文件 |
|
源代码行 |
|
挂起重启 |
false |
文档: debug_print_rewritten
debug_print_rewritten (PostgreSQL 9.6)
设置 |
off |
单位 |
|
类别 |
报告和日志记录 / 记录内容 |
简短描述 |
记录每个查询的重写解析树。 |
额外描述 |
|
上下文 |
用户 |
变量类型 |
bool |
来源 |
默认 |
最小值 |
|
最大值 |
|
枚举值 |
|
启动值 |
off |
重置值 |
off |
源文件 |
|
源代码行 |
|
挂起重启 |
false |
文档: debug_print_rewritten
debug_print_rewritten (PostgreSQL 9.5)
设置 |
off |
单位 |
|
类别 |
报告和日志记录 / 记录内容 |
简短描述 |
记录每个查询的重写解析树。 |
额外描述 |
|
上下文 |
用户 |
变量类型 |
bool |
来源 |
默认 |
最小值 |
|
最大值 |
|
枚举值 |
|
启动值 |
off |
重置值 |
off |
源文件 |
|
源代码行 |
|
挂起重启 |
false |
文档: debug_print_rewritten
debug_print_rewritten (PostgreSQL 9.4)
设置 |
off |
单位 |
|
类别 |
报告和日志记录 / 记录内容 |
简短描述 |
记录每个查询的重写解析树。 |
额外描述 |
|
上下文 |
用户 |
变量类型 |
bool |
来源 |
默认 |
最小值 |
|
最大值 |
|
枚举值 |
|
启动值 |
off |
重置值 |
off |
源文件 |
|
源代码行 |
|
文档: debug_print_rewritten
debug_print_rewritten (PostgreSQL 9.3)
设置 |
off |
单位 |
|
类别 |
报告和日志记录 / 记录内容 |
简短描述 |
记录每个查询的重写解析树。 |
额外描述 |
|
上下文 |
用户 |
变量类型 |
bool |
来源 |
默认 |
最小值 |
|
最大值 |
|
枚举值 |
|
启动值 |
off |
重置值 |
off |
源文件 |
|
源代码行 |
|
文档: debug_print_rewritten
debug_print_rewritten (PostgreSQL 9.2)
设置 |
off |
单位 |
|
类别 |
报告和日志记录 / 记录内容 |
简短描述 |
记录每个查询的重写解析树。 |
额外描述 |
|
上下文 |
用户 |
变量类型 |
bool |
来源 |
默认 |
最小值 |
|
最大值 |
|
枚举值 |
|
启动值 |
off |
重置值 |
off |
源文件 |
|
源代码行 |
|
文档: debug_print_rewritten
debug_print_rewritten (PostgreSQL 9.1)
设置 |
off |
单位 |
|
类别 |
报告和日志记录 / 记录内容 |
简短描述 |
记录每个查询的重写解析树。 |
额外描述 |
|
上下文 |
用户 |
变量类型 |
bool |
来源 |
默认 |
最小值 |
|
最大值 |
|
枚举值 |
|
启动值 |
off |
重置值 |
off |
源文件 |
|
源代码行 |
|
文档: debug_print_rewritten
debug_print_rewritten (PostgreSQL 9.0)
设置 |
off |
单位 |
|
类别 |
报告和日志记录 / 记录内容 |
简短描述 |
记录每个查询的重写解析树。 |
额外描述 |
|
上下文 |
用户 |
变量类型 |
bool |
来源 |
默认 |
最小值 |
|
最大值 |
|
枚举值 |
|
启动值 |
off |
重置值 |
off |
源文件 |
|
源代码行 |
|
文档: debug_print_rewritten
debug_print_rewritten (PostgreSQL 8.4)
设置 |
off |
单位 |
|
类别 |
报告和日志记录 / 记录内容 |
简短描述 |
记录每个查询的重写解析树。 |
额外描述 |
|
上下文 |
用户 |
变量类型 |
bool |
来源 |
默认 |
最小值 |
|
最大值 |
|
枚举值 |
|
启动值 |
off |
重置值 |
off |
源文件 |
|
源代码行 |
|
文档: debug_print_rewritten
debug_print_rewritten (PostgreSQL 8.3)
设置 |
|
单位 |
|
类别 |
报告和日志记录 / 记录内容 |
简短描述 |
将重写后的解析树打印到服务器日志。 |
额外描述 |
|
上下文 |
用户 |
变量类型 |
bool |
来源 |
默认 |
最小值 |
|
最大值 |
|
文档: debug_print_rewritten
debug_print_rewritten (PostgreSQL 8.2)
设置 |
|
单位 |
|
类别 |
报告和日志记录 / 记录内容 |
简短描述 |
将重写后的解析树打印到服务器日志。 |
额外描述 |
|
上下文 |
用户 |
变量类型 |
bool |
来源 |
默认 |
最小值 |
|
最大值 |
|
文档: debug_print_rewritten
更改历史记录
示例
启用 debug_print_rewritten
后任意查询的示例输出(此处为插入分区表的 INSERT
)
[2020-08-16 15:03:12 UTC] psql postgres postgres LOG: 00000: statement: INSERT INTO part_parent values(1,'foo') returning *;
[2020-08-16 15:03:12 UTC] psql postgres postgres LOCATION: exec_simple_query, postgres.c:1044
[2020-08-16 15:03:12 UTC] psql postgres postgres LOG: 00000: rewritten parse tree:
[2020-08-16 15:03:12 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 15:03:12 UTC] psql postgres postgres LOCATION: elog_node_display, print.c:85