43.2. pg_aggregate

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.