51.2. pg_aggregate

目录pg_aggregate存储有关聚合函数的信息。聚合函数是对一组值(通常与查询条件匹配的每一行中的一列)进行运算并返回从所有这些值计算得出的单个值的函数。典型的集合函数是sumcountmaxpg_aggregate中的每个条目都是pg_proc中的条目的扩展。 pg_proc条目包含聚合的名称,Importing 和输出数据类型以及与普通函数相似的其他信息。

表 51.2. pg_aggregate

NameTypeReferencesDescription
aggfnoidregprocpg_proc.oidpg_proc汇总功能的 OID
aggkindchar 聚合类型:n代表“常规”聚合,o代表“有序集”聚合,或h代表“假设集”聚合
aggnumdirectargsint2 有序集合或假设集合的直接(非集合)参数的数量,将可变参数数组作为一个参数。如果等于pronargs,则聚合必须是可变参数,可变参数数组描述了聚合参数以及最终的直接参数。对于常规聚合,始终为零。
aggtransfnregprocpg_proc.oidTransition function
aggfinalfnregprocpg_proc.oid最终功能(如果没有则为零)
aggcombinefnregprocpg_proc.oid合并功能(如果没有则为零)
aggserialfnregprocpg_proc.oid序列化功能(如果没有则为零)
aggdeserialfnregprocpg_proc.oid反序列化功能(如果没有则为零)
aggmtransfnregprocpg_proc.oid用于移动聚合模式的前向过渡功能(如果没有则为零)
aggminvtransfnregprocpg_proc.oid用于移动聚合模式的逆转换函数(如果没有则为零)
aggmfinalfnregprocpg_proc.oid移动聚合模式的最终功能(如果没有则为零)
aggfinalextrabool 为 True 会将多余的虚拟参数传递给aggfinalfn
aggmfinalextrabool 为 True 会将多余的虚拟参数传递给aggmfinalfn
aggsortopoidpg_operator.oid关联的排序运算符(如果没有则为零)
aggtranstypeoidpg_type.oid聚合函数内部转换(状态)数据的数据类型
aggtransspaceint4 过渡状态数据的近似平均大小(以字节为单位),或者为零以使用默认估计
aggmtranstypeoidpg_type.oid移动聚合模式的聚合函数内部转换(状态)数据的数据类型(如果没有则为零)
aggmtransspaceint4 移动聚合模式的过渡状态数据的近似平均大小(以字节为单位),或者为零以使用默认估计
agginitvaltext 过渡状态的初始值。这是一个文本字段,在其外部字符串表示形式中包含初始值。如果此字段为 null,则过渡状态值从 null 开始。
aggminitvaltext 移动聚合模式的过渡状态的初始值。这是一个文本字段,在其外部字符串表示形式中包含初始值。如果此字段为 null,则过渡状态值从 null 开始。

新的聚合函数已通过CREATE AGGREGATE命令注册。有关编写聚合函数以及转换函数的含义等的更多信息,请参见Section 37.10