pg_window
pg_window
表存储关于窗口函数的信息。窗口函数通常用于创建复杂的OLAP(在线分析处理)查询。窗口函数被应用到单个查询表达式的范围分区结果集。一个窗口分区是一个查询返回行的子集,由一个特定的OVER()
子句定义。典型的窗口函数有rank
、dense_rank
和row_number
。在pg_window
中每个条目是pg_proc中一个条目的扩展。pg_proc中的一个条目包含了窗含函数的名称、输入以及输出数据的类型以及其它同普通函数类似的信息。
表 1. pg_catalog.pg_window
名称 | 类型 | 引用 | 描述 |
---|---|---|---|
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函数 |
上级主题: 系统目录定义