53.2. 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.