51.2. pg_aggregate
目录pg_aggregate
存储有关聚合函数的信息。聚合函数是对一组值(通常与查询条件匹配的每一行中的一列)进行运算并返回从所有这些值计算得出的单个值的函数。典型的集合函数是sum
,count
和max
。 pg_aggregate
中的每个条目都是pg_proc
中的条目的扩展。 pg_proc
条目包含聚合的名称,Importing 和输出数据类型以及与普通函数相似的其他信息。
表 51.2. pg_aggregate
列
Name | Type | References | Description |
---|---|---|---|
aggfnoid | regproc | pg_proc.oid | pg_proc 汇总功能的 OID |
aggkind | char | 聚合类型:n 代表“常规”聚合,o 代表“有序集”聚合,或h 代表“假设集”聚合 | |
aggnumdirectargs | int2 | 有序集合或假设集合的直接(非集合)参数的数量,将可变参数数组作为一个参数。如果等于pronargs ,则聚合必须是可变参数,可变参数数组描述了聚合参数以及最终的直接参数。对于常规聚合,始终为零。 | |
aggtransfn | regproc | pg_proc.oid | Transition function |
aggfinalfn | regproc | pg_proc.oid | 最终功能(如果没有则为零) |
aggcombinefn | regproc | pg_proc.oid | 合并功能(如果没有则为零) |
aggserialfn | regproc | pg_proc.oid | 序列化功能(如果没有则为零) |
aggdeserialfn | regproc | pg_proc.oid | 反序列化功能(如果没有则为零) |
aggmtransfn | regproc | pg_proc.oid | 用于移动聚合模式的前向过渡功能(如果没有则为零) |
aggminvtransfn | regproc | pg_proc.oid | 用于移动聚合模式的逆转换函数(如果没有则为零) |
aggmfinalfn | regproc | pg_proc.oid | 移动聚合模式的最终功能(如果没有则为零) |
aggfinalextra | bool | 为 True 会将多余的虚拟参数传递给aggfinalfn | |
aggmfinalextra | bool | 为 True 会将多余的虚拟参数传递给aggmfinalfn | |
aggsortop | oid | pg_operator.oid | 关联的排序运算符(如果没有则为零) |
aggtranstype | oid | pg_type.oid | 聚合函数内部转换(状态)数据的数据类型 |
aggtransspace | int4 | 过渡状态数据的近似平均大小(以字节为单位),或者为零以使用默认估计 | |
aggmtranstype | oid | pg_type.oid | 移动聚合模式的聚合函数内部转换(状态)数据的数据类型(如果没有则为零) |
aggmtransspace | int4 | 移动聚合模式的过渡状态数据的近似平均大小(以字节为单位),或者为零以使用默认估计 | |
agginitval | text | 过渡状态的初始值。这是一个文本字段,在其外部字符串表示形式中包含初始值。如果此字段为 null,则过渡状态值从 null 开始。 | |
aggminitval | text | 移动聚合模式的过渡状态的初始值。这是一个文本字段,在其外部字符串表示形式中包含初始值。如果此字段为 null,则过渡状态值从 null 开始。 |
新的聚合函数已通过CREATE AGGREGATE命令注册。有关编写聚合函数以及转换函数的含义等的更多信息,请参见Section 37.10。