pg_window
pg_window
pg_window表存储关于窗口函数的信息。窗口函数通常用于创建复杂的OLAP(在线分析处理)查询。窗口函数被应用到单个查询表达式的范围分区结果集。一个窗口分区是一个查询返回行的子集,由一个特定的OVER()子句定义。典型的窗口函数有rank、dense_rank和row_number。在pg_window中每个条目是pg_proc中一个条目的扩展。pg_proc中的一个条目包含了窗含函数的名称、输入以及输出数据的类型以及其它同普通函数类似的信息。
名称 | 类型 | 引用 | 描述 |
---|---|---|---|
winfnoid | regproc | pg_proc.oid | 窗口函数在pg_proc中的OID。 |
winrequireorder | boolean | 窗口函数要求它的窗口说明有一个ORDER BY 子句。 | |
winallowframe | boolean | 窗口函数允许它的窗口说明有一个ROWS或RANGE帧子句。 | |
winpeercount | boolean | 计算这个窗口函数要求平级分组行计数,因此Window节点实现必须在需要时“向前看”来保证在其中间状态中该计数可用。 | |
wincount | boolean | 计算该窗口函数要求分区行计数。 | |
winfunc | regproc | pg_proc.oid | 一个计算中间类型窗口函数值的函数在pg_proc中的OID。 |
winprefunc | regproc | pg_proc.oid | 一个计算延迟型窗口函数的部分值的预备窗口函数在pg_proc中的OID。 |
winpretype | oid | pg_type.oid | 预备窗函数的结果类型在pg_type中OID。 |
winfinfunc | regproc | pg_proc.oid | 一个从分区行计数以及winprefunc结果计算延迟型窗口函数最终值的函数在pg_proc 中的OID。 |
winkind | char | 一个显示该窗口函数在一类相关函数中成员关系的字符: w - 普通的窗函数 n - NTILE函数 f - FIRST_VALUE函数 l - LAST_VALUE函数 g - LAG函数 d - LEAD函数 |