PostgreSQL 用于查询处理和优化的中间语言是什么?

Which is the intermediate language used by PostgreSQL for query processing and optimization?

我目前正在写一篇关于 PostgreSQL 的论文,但我在任何地方(包括他们的文档)都找不到用于查询处理和优化的中间语言。

没有这样的中间体"language"。

将SQL解析成Node*的解析树。然后通过查询重写器传递,然后由 planner/optimizer 转换为计划树。您可以使用(记录的)选项 debug_print_parsedebug_print_rewrittendebug_print_plan.

查看这些树

查看源代码 - 特别是 src/backend/parser/src/backend/rewritesrc/backend/optimizer/,以及 src/include/nodes/nodes.hplannodes.hparsenodes.h,等。请注意,优化器和解析器源目录中都有 README 个文件。