pg_aggregate 存储与聚集函数有关的信息。
聚集函数是对一个数值集(通常每个匹配查询条件的行中的一个字段)
进行操作的函数,它返回从这些值中计算出的一个数值。
典型的聚集函数是
sum
,count
,和
max
。
pg_aggregate 里的每条记录都是一条
pg_proc 里面的记录的扩展。
pg_proc 记录运载该聚集的名字,输入和输出
数据类型,以及其它一些和普通函数类似的信息。
Table 42-2. pg_aggregate 字段
名字 | 类型 | 引用 | 描述 |
---|---|---|---|
aggfnoid | regproc | pg_proc.oid | 此聚集函数的pg_procOID |
aggtransfn | regproc | pg_proc.oid | 转换函数 |
aggfinalfn | regproc | pg_proc.oid | 终处理函数(如果没有则为零) |
aggsortop | oid | pg_operator.oid | 关联排序操作符(零或者无) |
aggtranstype | oid | pg_type.oid | 此聚集函数的内部转换(状态)数据的数据类型 |
agginitval | text | 转换状态的初始值。这是一个文本数据域, 它包含初始值的外部字串表现形式。如果数据域是 NULL, 那么转换状态值从 NULL 开始。 |
新聚集函数是用 CREATE AGGREGATE 命令注册的。 参阅 Section 32.10 获取关于写聚集函数 以及转换函数的含义等的更多信息。