跳转至

pg_aggregate

pg_aggregate

pg_aggregate存储关于聚集函数的信息。 聚集函数是对一个值集合(通常是来自于匹配某个查询条件的每个行的一个列值)进行操作并且返回从这些值计算出的一个值的函数。 典型的聚集函数是sumcountmaxpg_aggregate里的每个项都是一个pg_proc项的扩展。 pg_proc的项记载该聚集的名字、输入输出的数据类型以及其他和普通函数类似的信息。

类型 参考 描述
aggfnoid regproc pg_proc.oid 聚集函数的OID
aggtransfn regproc pg_proc.oid 转移函数的OID
aggcombinefn regproc 预备函数的OID(如果没有就为0)
aggfinalfn regproc pg_proc.oid 最终函数的OID(如果没有就为0)
agginitval text 转移状态的初始值。 这是一个文本域,它包含初始值的外部字符串表现形式。 如果这个域为NULL,则转移状态从NULL开始
aggsortop oid pg_operator.oid 相关的排序操作符的OID(如果没有则为零)
aggtranstype oid pg_type.oid 聚集函数的内部转移(状态)数据的数据类型
aggtransspace int4 pg_type.int4 估计的状态数据大小(默认估计为0)
aggkind char n表示“普通”聚集,o表示“有序集”聚集,或h表示“假想集”聚集
aggnumdirectargs smallint 一个有序集或者假想集聚集的直接(非聚集)参数的数量,一个可变数组算作一个参数。如果等于pronargs,该聚集必定是可变的并且该可变数组描述聚集参数以及最终直接参数。对于普通聚集总是为零。
aggserialfn regproc pg_proc.oid 序列化函数(如果没有就为0)
aggdeserialfn regproc pg_proc.oid 反序列化函数 (如果没有就为0)
aggmtransfn regproc pg_proc.oid 用于移动聚集模式的向前转移函数(如果没有就为0)
aggminvtransfn regproc pg_proc.oid 用于移动聚集模式的反向转移函数(如果没有就为0)
aggmfinalfn regproc pg_proc.oid 用于移动聚集模式的最终函数(如果没有就为0)
aggfinalextra boolean True将传递额外的虚拟参数到aggfinalfn
aggmfinalextra boolean True将传递额外的虚拟参数到aggmfinalfn
aggfinalmodify char aggfinalfn是否修改传递状态值:如果是只读则为r,如果不能在aggfinalfn之后应用aggtransfn则为s,或者如果它修改该值则为w。
aggmfinalmodify char aggfinalmodify相似,但是作用于aggmfinalfn
aggmtranstype oid pg_type.oid 聚集函数用于移动聚集欧式的内部转移(状态)数据的数据类型(如果没有则为0)
aggmtransspace integer 移动聚合模式的转移状态数据的近似平均尺寸(字节),或者为0表示使用一个默认估算值。
aggminitval text 移动聚集模式的转移状态初值。这是一个文本域,它包含初始值的外部字符串表现形式。 如果这个域为NULL,则转移状态从NULL开始

Table 1. pg_catalog.pg_aggregate