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 42-2. pg_aggregate Columns
Name |
Type |
References |
Description |
aggfnoid
|
regproc
|
pg_proc
.oid
|
pg_proc OID of the aggregate function |
aggtransfn
|
regproc
|
pg_proc
.oid
|
Transition function |
aggfinalfn
|
regproc
|
pg_proc
.oid
|
Final function (zero if none) |
aggsortop
|
oid
|
pg_operator
.oid
|
Associated sort operator (zero if none) |
aggtranstype
|
oid
|
pg_type
.oid
|
Data type of the aggregate function's internal transition (state) data |
agginitval
|
text
|
|
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. |
New aggregate functions are registered with the CREATE AGGREGATE command. See Section 32.10 for more information about writing aggregate functions and the meaning of the transition functions, etc.