Le catalogue pg_aggregate stocke les
informations concernant les fonctions d'agrégat. Une fonction
d'agrégat est une fonction qui opère sur un ensemble de données
(typiquement une colonne de chaque ligne qui correspond à une
condition de requête) et retourne une valeur unique calculée à partir
de toutes ces valeurs. Les fonctions d'agrégat classiques sont
sum (somme), count (compteur) et max
(plus grande valeur). Chaque entrée de pg_aggregate est une extension d'une entrée de
pg_proc. L'entrée de pg_proc contient le nom de l'agrégat, les types
de données d'entrée et de sortie, et d'autres informations similaires
aux fonctions ordinaires.
Tableau 43.2. Les colonnes de pg_aggregate
|
Nom
|
Type
|
Références
|
Description
|
|
aggfnoid
|
regproc
|
pg_proc
.oid
|
OID pg_proc de la fonction
d'agrégat
|
|
aggtransfn
|
regproc
|
pg_proc
.oid
|
fonction de transition
|
|
aggfinalfn
|
regproc
|
pg_proc
.oid
|
fonction finale (0 s'il n'y en a pas)
|
|
aggsortop
|
oid
|
pg_operator
.oid
|
Opérateur de tri associé (0 s'il n'y en a pas)
|
|
aggtranstype
|
oid
|
pg_type
.oid
|
Type de la donnée interne de transition (état) de la
fonction d'agrégat
|
|
agginitval
|
text
|
|
Valeur initiale de la fonction de transition. C'est un
champ texte qui contient la valeur initiale dans sa
représentation externe en chaîne de caractères. Si ce champ
est NULL, la valeur d'état de transition est initialement
NULL.
|
Les nouvelles fonctions d'agrégat sont enregistrées avec la commande
CREATE AGGREGATE. La Section 33.10,
« Agrégats utilisateur » fournit de plus amples
informations sur l'écriture des fonctions d'agrégat et sur la
signification des fonctions de transition, etc.