PostgreSQL 9.4.4 中文手册
上一页 | 上一级 | 章 48. 系统表 | 下一页

# 48.2. `pg_aggregate`

存储与聚合函数有关的信息。聚合函数是对一个数值集(通常每个匹配查询条件的行中的一个字段) 进行操作的函数，它返回从这些值中计算出的一个数值。典型的聚合函数是`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 节 获取关于编写聚合函数以及转换函数的含义等的更多信息。

上一页 | 起始页 | 下一页
概述 | 上一级 | `pg_am`