如何查看基于 Postgresql 视图的完整、扁平化查询?

jl6*_*jl6 5 postgresql

如果我有一个视图(等)的视图,有没有办法显示这个扩展/展平的完整查询?

Cra*_*ger 3

目前不在 PostgreSQL 中。PostgreSQL 实际上并不构建单个巨大的 SQL 语句;而是构建一个巨大的 SQL 语句。相反,它使用视图的计划树并将其插入到顶级查询的计划树中。要将其转回 SQL 需要一个解析器,而 PostgreSQL 目前还没有这个功能。

您可以通过用视图查询的文本替换对视图的引用来自行完成,但您需要了解效果并不完全相同,特别是在存在多个对视图的引用的情况下。

您最好使用explain和/或explain analyze观察查询的作用