Redrock Postgres 搜索 英文
版本: 9.3 / 9.4 / 9.5 / 9.6 / 10 / 11 / 12 / 13 / 14 / 15 / 16 / 17

51.2. pg_aggregate #

目录 pg_aggregate 存储有关聚合函数的信息。聚合函数在值集上执行操作(通常对于与查询条件匹配的每行来自一个列),并返回根据所有这些值计算出的一个值。典型的聚合函数有 sumcountmaxpg_proc 中的每个条目都是 pg_proc 中一个条目的扩展。pg_proc 条目包含聚合函数的名称、输入和输出数据类型,以及其他类似普通函数的信息。

表 51.2. pg_aggregate

列类型

描述

aggfnoid regproc(引用 pg_proc.oid

pg_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

将额外的虚拟参数传递给 aggfinalfn 为真

aggmfinalextra bool

将额外的虚拟参数传递给 aggmfinalfn 为真

aggfinalmodify char

aggfinalfn 是否修改转换状态值:r 读只,s 如果 aggtransfn 无法应用于 aggfinalfn,或 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

转换状态的初始值。这是一个文本域,包含用其外部字符串表示形式表示的初始值。如果此域为空,则转换状态值为 null。

aggminitval text

对于移动聚合模式,转换状态的初始值。这是一个文本域,包含用其外部字符串表示形式表示的初始值。如果此域为空,则转换状态值为 null。


使用 创建聚集 命令注册新聚集函数。有关编写聚集函数和过渡函数含义等信息的详细信息,请参阅 第 36.12 节