52.2. pg_aggregate #
目录 pg_aggregate 存储关于聚合函数的信息。聚合函数是对一组值(典型的是每个匹配查询条件的行中的同一个列的值)进行操作的函数,它返回从这些值中计算出的单个值。典型的聚合函数是 sum、count 和 max。pg_aggregate 里的每个项都是一个 pg_proc 项的扩展。pg_proc 项记载该聚合的名字、输入和输出数据类型,以及其他一些和普通函数类似的信息。
表 52.2. pg_aggregate 列
列类型 描述 |
|---|
聚合函数对应的 |
聚合种类: |
有序集或假想集聚合的直接(非聚合)参数个数,其中一个可变参数数组算作一个参数。如果它等于 |
转移函数 |
最终函数(如果没有就为零) |
合并函数(如果没有就为零) |
序列化函数(如果没有就为零) |
反序列化函数(如果没有就为零) |
用于移动聚合模式的前向状态转移函数(如果没有就为零) |
用于移动聚合模式的逆向状态转移函数(如果没有就为零) |
用于移动聚合模式的最终函数(如果没有就为零) |
若为真,则会向 |
若为真,则会向 |
|
类似于 |
相关联的排序操作符(如果没有则为 0) |
聚合函数的内部转移(状态)数据的数据类型 |
转移状态数据的近似平均尺寸(字节)。正值表示一个估算值,零表示使用默认估算值。负值表示状态数据的大小可以无限增长,例如聚合会累积输入行时(如 array_agg、string_agg)。 |
聚合函数在移动聚合模式下内部转移(状态)数据的数据类型(如果没有则为零) |
移动聚合模式的转移状态数据的近似平均尺寸(字节),或者为零表示使用默认估算值 |
转移状态的初始值。这是一个文本字段,包含初始值的外部字符串表示。如果此字段为 NULL,则转移状态值初始为 NULL。 |
移动聚合模式下转移状态的初始值。这是一个文本字段,包含初始值的外部字符串表示。如果此字段为 NULL,则转移状态值初始为 NULL。 |
新的聚合函数可通过 CREATE AGGREGATE 命令注册。更多关于编写聚合函数以及转移函数的含义等信息请参见第 36.12 节。