pg_aggregate
   The catalog pg_aggregate stores information about
   aggregate functions.  An aggregate function is a function that
   operates on a set of values (typically one column from each row
   that matches a query condition) and returns a single value computed
   from all these values.  Typical aggregate functions are
   sum, count, and
   max.  Each entry in
   pg_aggregate is an extension of an entry
   in pg_proc.
   The pg_proc entry carries the aggregate's name,
   input and output data types, and other information that is similar to
   ordinary functions.
  
Table 53.2. pg_aggregate Columns
| Column Type Description | 
|---|
| 
        
        | 
| 
        
       Aggregate kind:
        | 
| 
        
       Number of direct (non-aggregated) arguments of an ordered-set or
       hypothetical-set aggregate, counting a variadic array as one argument.
       If equal to  | 
| 
        Transition function | 
| 
        Final function (zero if none) | 
| 
        Combine function (zero if none) | 
| 
        Serialization function (zero if none) | 
| 
        Deserialization function (zero if none) | 
| 
        Forward transition function for moving-aggregate mode (zero if none) | 
| 
        Inverse transition function for moving-aggregate mode (zero if none) | 
| 
        Final function for moving-aggregate mode (zero if none) | 
| 
        
       True to pass extra dummy arguments to  | 
| 
        
       True to pass extra dummy arguments to  | 
| 
        
       Whether  | 
| 
        
       Like  | 
| 
        Associated sort operator (zero if none) | 
| 
        Data type of the aggregate function's internal transition (state) data | 
| 
        Approximate average size (in bytes) of the transition state data, or zero to use a default estimate | 
| 
        Data type of the aggregate function's internal transition (state) data for moving-aggregate mode (zero if none) | 
| 
        Approximate average size (in bytes) of the transition state data for moving-aggregate mode, or zero to use a default estimate | 
| 
        The initial value of the transition state. This is a text field containing the initial value in its external string representation. If this field is null, the transition state value starts out null. | 
| 
        The initial value of the transition state for moving-aggregate mode. This is a text field containing the initial value in its external string representation. If this field is null, the transition state value starts out null. | 
   New aggregate functions are registered with the CREATE AGGREGATE
   command.  See Section 38.12 for more information about
   writing aggregate functions and the meaning of the transition
   functions, etc.