Postgresql 中文操作指南

53.2. pg_aggregate #

目录 pg_aggregate 存储有关聚合函数的信息。聚合函数是在一组值(通常是与查询条件相匹配的每行的一列)上操作的函数,并返回从所有这些值计算出的单个值。典型的聚合函数是 sumcountmaxpg_aggregate 中的每个条目都是 pg_proc 中某个条目的扩展。 pg_proc 条目承载聚合的名称、输入和输出数据类型,以及与普通函数类似的其他信息。

Table 53.2. pg_aggregate Columns

Column Type

Description

aggfnoid regproc (引用 pg_proc . oidpg_proc 聚合函数的 OID

aggkind char 聚合类型: n 表示“普通”聚合, o 表示“有序集”聚合, h 表示“假设集”聚合

aggnumdirectargs int2 有序集或假设集聚合的直接(非聚合)参数数目,将可变数组计为一个参数。如果等于 pronargs ,则聚合必须为可变的,而可变数组描述了聚合参数和最终直接参数。对于普通聚合始终为零。

aggtransfn regproc (引用 pg_proc . oid )转换函数

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

aggfinalmodify char aggfinalfn 是否修改过渡状态值: r 如果它是只读的, s 如果在 aggfinalfn 后无法应用 aggtransfn ,或者 w 如果它在该值上写入信息

aggmfinalmodify char 类似于 aggfinalmodify ,但适用于 aggmfinalfn

aggsortop oid (参考 pg_operator . oid )关联的排序运算符(如果无则为零)

aggtranstype oid (参考 pg_type . oid )聚合函数内部过渡(状态)数据的数据类型

aggtransspace int4 过渡状态数据的近似平均大小(以字节为单位),或零以使用默认估计值

aggmtranstype oid (参考 pg_type . oid )移动聚合模式下聚合函数内部过渡(状态)数据的数据类型(如果无则为零)

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

agginitval text 过渡状态的初始值。这是一个文本字段,包含以外部字符串表示形式显示的初始值。如果此字段为空,过渡状态值以空开始。

aggminitval text 移动聚合模式下过渡状态的初始值。这是一个文本字段,包含以外部字符串表示形式显示的初始值。如果此字段为空,过渡状态值以空开始。

使用 CREATE AGGREGATE 命令注册新聚合函数。有关编写聚合函数、过渡函数含义等的更多信息,请参阅 Section 38.12