2024年9月26日: PostgreSQL 17 发布!
支持版本:当前 (17) / 16 / 15 / 14 / 13 / 12
开发版本:devel
不支持的版本:11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1

51.2. pg_aggregate #

目录 pg_aggregate 存储有关聚合函数的信息。聚合函数是一种作用于一组值(通常是与查询条件匹配的每一行的一列)并返回从所有这些值计算得出的单个值的函数。典型的聚合函数是 sumcountmaxpg_aggregate 中的每个条目都是 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 表示在 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 命令注册新的聚合函数。有关编写聚合函数以及过渡函数等含义的更多信息,请参阅 第 36.12 节

提交更正

如果您在文档中发现任何错误,不符合您对特定功能的体验,或需要进一步澄清,请使用 此表格 报告文档问题。