pg_aggregate系统表存储与聚集函数有关的信息。pg_aggregate里的每条记录都是一条pg_proc里面的记录的扩展。PG_PROC记录承载该聚集的名字、输入和输出数据类型,以及其它一些和普通函数类似的信息。
名称 | 类型 | 引用 | 描述 |
aggfnoid | regproc | pg_proc.oid | 聚集函数在pg_proc中的OID |
aggkind | char | 聚集类型: n表示“普通”聚集, o表示“有序集”聚集,或者 h表示“假想集”聚集 | |
aggnumdirectargs | int2 | 一个有序集或者假想集聚集的直接(非聚集)参数的数量,一个可变数组算作一个参数。 如果等于pronargs,该聚集必定是可变的并且该可变数组描述聚集参数以 及最终直接参数。对于普通聚集总是为零。 | |
aggtransfn | regproc | pg_proc.oid | 转移函数 |
aggcollectfn | 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传递额外的哑参数 | |
aggsortop | oid | pg_operator.oid | 相关联的排序操作符(如果没有则为0) |
aggtranstype | oid | pg_type.oid | 聚集函数的内部转移和收集(状态)数据的数据类型 |
aggtransspace | int4 | 转移状态数据的近似平均尺寸(字节),或者为零表示使用一个默认估算值 | |
aggmtranstype | oid | pg_type.oid | 聚集函数用于移动聚集欧氏的内部转移(状态)数据的数据类型(如果没有则为零) |
aggmtransspace | int4 | 转移状态数据的近似平均尺寸(字节),或者为零表示使用一个默认估算值 | |
agginitval | text | 转移状态的初始值。这是一个文本域,它包含初始值的外部字符串表现形式。如果这个域为空,则转移状态值从空值开始。 | |
agginitcollect | text | 集合状态的初始值。这是一个文本字段,在其外部字符串表示中包含初始值。如果此字段为空,则集合状态值从空开始。 | |
aggminitval | text | 用于移动聚集模式的转移状态初值。这是一个文本域,它包含了以其文本字符串形式表达的初值。 如果这个域为空,则转移状态值从空值开始。 |