PostgreSQL 9.4.4 中文手册 | |||
---|---|---|---|
上一页 | 上一级 | 章 48. 系统表 | 下一页 |
存储与聚合函数有关的信息。聚合函数是对一个数值集(通常每个匹配查询条件的行中的一个字段)
进行操作的函数,它返回从这些值中计算出的一个数值。典型的聚合函数是sum
,
count
, max
。pg_aggregate
里的每条记录都是一条pg_proc里面的记录的扩展。pg_proc
记录承载该聚合的名字、输入和输出数据类型,以及其它一些和普通函数类似的信息。
表 48-2. pg_aggregate 字段
名字 | 类型 | 引用 | 描述 |
---|---|---|---|
aggfnoid | regproc | pg_proc.oid | 此聚合函数的pg_proc OID |
aggkind | char | 聚合类型: n为"普通"聚合 o为"顺序集"聚合或 h为"假想集"聚合 | |
aggnumdirectargs | int2 | 顺序集或假想集聚合的直接(非聚合)参数的数量,将可变数组看做一个参数。 如果等于pronargs,那么该聚合必须是可变的, 并且可变数组描述聚合的参数和最终直接参数。对普通聚合来说总是零。 | |
aggtransfn | regproc | pg_proc.oid | 转换函数 |
aggfinalfn | regproc | pg_proc.oid | 最终处理函数(如果没有则为零) |
aggmtransfn | regproc | pg_proc.oid | moving-aggregate模式下的正向转换函数(如果没有则为零) |
aggminvtransfn | regproc | pg_proc.oid | moving-aggregate模式下的反向转换函数(如果没有则为零) |
aggmfinalfn | regproc | pg_proc.oid | moving-aggregate模式下的最终函数(如果没有则为零) |
aggfinalextra | bool | 传递额外的假变量到aggfinalfn为真 | |
aggmfinalextra | bool | 传递额外的假变量到aggmfinalfn为真 | |
aggsortop | oid | pg_operator.oid | 关联排序操作符(如果没有则为零) |
aggtranstype | oid | pg_type.oid | 此聚合函数的内部转换(状态)数据的数据类型 |
aggtransspace | int4 | 转换状态数据的大约平均大小(以字节计),或者使用缺省估计时为零 | |
aggmtranstype | oid | pg_type.oid | moving-aggregate模式下,聚合函数的内部转换(状态)数据的数据类型 (如果没有则为零) |
aggmtransspace | int4 | moving-aggregate模式下转换状态数据的大约平均大小(以字节计), 或者使用缺省估计时为零 | |
agginitval | text | 转换状态的初始值。这是一个文本数据域,它包含初始值的外部字符串表现形式。 如果数据域是 null ,那么转换状态值从 null 开始。 | |
aggminitval | text | moving-aggregate模式下转换状态的初始值。 这是一个包含以它的外部字符串表示的初始值的文本字段。 如果这个字段为空,那么转换状态值以空开始。 |
新聚合函数是用CREATE AGGREGATE命令注册的。参阅第 35.10 节 获取关于编写聚合函数以及转换函数的含义等的更多信息。