O catálogo pg_aggregate armazena informações sobre funções de agregação. Uma função de agregação é uma função que opera sobre um conjunto de valores (tipicamente uma coluna de cada linha que corresponde à condição do comando), e retorna um único valor calculado a partir destes valores. As funções de agregação típicas são sum, count e max. Cada entrada em pg_aggregate é uma extensão de uma entrada em pg_proc. A entrada em pg_proc contém o nome da agregação, os tipos de dado de entrada e de saída, além de outras informações semelhantes às das funções comuns.
Tabela 42-2. Colunas de pg_aggregate
Nome | Tipo | Referencia | Descrição |
---|---|---|---|
aggfnoid | regproc | pg_proc.oid | OID da função de agregação em pg_proc |
aggtransfn | regproc | pg_proc.oid | Função de transição da agregação |
aggfinalfn | regproc | pg_proc.oid | Função final da agregação (zero se não houver nenhuma) |
aggtranstype | oid | pg_type.oid | Tipo de dado da transição interna (estado) da função de agregação |
agginitval | text | Valor inicial do estado da transição. É um campo texto, contendo o valor inicial na sua representação externa na forma de cadeia de caracteres. Se o valor for nulo, o valor do estado da transição começa por nulo. |
As novas funções de agregação são registradas através do comando CREATE AGGREGATE. Para obter informações adicionais sobre como escrever funções de agregação, e o significado das funções de transição, etc., deve ser consultada a Seção 31.10