# 52.2.pg_aggregate

目录pg_aggregate存储有关聚合函数的信息。聚合函数是对一组值(通常是每行中与查询条件匹配的一列)进行操作并返回从所有这些值计算得出的单个值的函数。典型的聚合函数是,数数, 和最大限度.中的每个条目pg_aggregate是一个条目的扩展pg_proc.这pg_procentry 携带聚合的名称、输入输出数据类型等与普通函数类似的信息。

表 52.2.pg_aggregate

列类型

描述
凝集素 正则程序(参考pg_proc.样的)

pg_proc聚合函数的 OID
艾格金德 字符

聚合类:n对于“正常”聚合,对于“有序集”聚合,或h对于“假设集”聚合
aggnumdirectargs 整数2

有序集或假设集聚合的直接(非聚合)参数的数量,将可变参数数组计为一个参数。如果等于前锋,聚合必须是可变参数,可变参数数组描述聚合参数以及最终的直接参数。正常聚合始终为零。
凝集素 正则程序(参考pg_proc.样的)

过渡函数
聚集体 正则程序(参考pg_proc.样的)

最终功能(如果没有则为零)
凝聚力 正则程序(参考pg_proc.样的)

组合功能(如果没有则为零)
阿格塞里芬 正则程序(参考pg_proc.样的)

序列化函数(如果没有则为零)
阿格德塞里芬 正则程序(参考pg_proc.样的)

反序列化函数(如果没有则为零)
聚合转运 正则程序(参考pg_proc.样的)

移动聚合模式的前向转换函数(如果没有则为零)
aggminvtransfn 正则程序(参考pg_proc.样的)

移动聚合模式的反向转换函数(如果没有则为零)
聚合最终 正则程序(参考pg_proc.样的)

移动聚合模式的最终函数(如果没有,则为零)
附加的 布尔

True 将额外的虚拟参数传递给聚集体
aggmfinalextra 布尔

True 将额外的虚拟参数传递给聚合最终
聚合最终修改 字符

无论聚集体修改过渡状态值:r如果它是只读的,s如果凝集素后不能申请聚集体, 或者w如果它写在值上
聚合最终修改 字符

聚合最终修改,但对于聚合最终
聚合顶部 样的(参考pg_operator.样的)

关联的排序运算符(如果没有则为零)
aggtranstype 样的(参考pg_type.样的)

聚合函数内部转换(状态)数据的数据类型
聚合跨空间 整数4

过渡状态数据的近似平均大小(以字节为单位),或为零以使用默认估计
聚集转型 样的(参考pg_type.样的)

移动聚合模式的聚合函数内部转换(状态)数据的数据类型(如果没有,则为零)
聚合跨空间 整数4

移动聚合模式的过渡状态数据的近似平均大小(以字节为单位),或为零以使用默认估计
初始值 文本

过渡状态的初始值。这是一个文本字段,在其外部字符串表示中包含初始值。如果此字段为空,则转换状态值开始为空。
凝聚力 文本

移动聚合模式的过渡状态的初始值。这是一个文本字段,在其外部字符串表示中包含初始值。如果此字段为空,则转换状态值开始为空。

新的聚合函数注册到创建聚合命令。看第 38.12 节有关编写聚合函数和转换函数的含义等的更多信息。