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。