3.2. pg_aggregate

pg_aggregate 存储与聚集函数有关的信息. 聚集函数是对一个数值集(通常每行一个匹配查询条件的字段) 进行操作的函数,它返回从这些值中计算出的一个数值. 典型的聚集函数是 sumcount,和 maxpg_aggregate 里的每条记录都是一条 pg_proc 里面的记录的扩展. pg_proc 记录运载该聚集的名字,输入和输出 数据类型,以及其它一些和普通函数类似的信息.

Table 3-2. pg_aggregate 字段

名字类型引用描述
aggfnoidregprocpg_proc.oid此聚集函数的 pg_proc OID
aggtransfnregprocpg_proc.oid转换函数
aggfinalfnregprocpg_proc.oid终处理函数(如果没有则为零)
aggtranstypeoidpg_type.oid此聚集函数的内部转换(状态)数据的类型
agginitvaltext  转换状态的初始值.这是一个文本数据域, 它包含初始值的外部字串表现形式.如果数据域是 NULL, 那么转换状态值从 NULL 开始.

新聚集函数是用 CREATE AGGREGATE 命令注册的. 参阅程序员手册获取关于写聚集函数 以及转换函数的含义等的更多信息.