

ALTER AGGREGATE — Modifier la définition d'une fonction d'agrégat
ALTER AGGREGATEnom(signature_agrégat) RENAME TOnouveau_nomALTER AGGREGATEnom(signature_agrégat) OWNER TO {nouveau_propriétaire| CURRENT_ROLE | CURRENT_USER | SESSION_USER } ALTER AGGREGATEnom(signature_agrégat) SET SCHEMAnouveau_schémaoùsignature_agrégatcorrespond à : * | [mode_arg] [nom_arg]type_arg[ , ... ] | [ [mode_arg] [nom_arg]type_arg[ , ... ] ] ORDER BY [mode_arg] [nom_arg]type_arg[ , ... ]
   ALTER AGGREGATE change la définition d'une fonction
   d'agrégat.
  
   Seul le propriétaire de la fonction d'agrégat peut utiliser ALTER
   AGGREGATE. Pour modifier le schéma d'une fonction d'agrégat, il est
   nécessaire de posséder le droit CREATE sur le nouveau
   schéma.
   Pour modifier le propriétaire, vous devez être capable d'utiliser
   SET ROLE vers le nouveau rôle propriétaire, et
   le rôle doit avoir le droit CREATE sur le schéma de la
   fonction d'agrégat.
   Ces restrictions assurent que la modification du propriétaire ne
   permet pas d'aller au-delà de ce que permet la suppression et la recréation
   d'une fonction d'agrégat. Toutefois, un superutilisateur peut modifier le
   propriétaire de n'importe quelle fonction d'agrégat.
  
nomLe nom (éventuellement qualifié du nom du schéma) de la fonction d'agrégat.
mode_arg
      Le mode d'un argument : IN ou
      VARIADIC. La valeur par défaut est
      IN.
     
nom_arg
      Le nom d'un argument. Notez que ALTER AGGREGATE ne
      fait pas réellement attention aux noms des arguments car seuls les types
      de données des arguments sont nécessaires pour déterminer l'identité de la
      fonction d'agrégat.
     
type_arg
      Un type de données en entrée sur lequel la fonction d'agrégat opère. Pour
      référencer une fonction d'agrégat sans argument, écrivez
      * à la place de la liste des arguments. Pour
      référencer une fonction d'agrégat avec ensemble trié, ajoutez
      ORDER BY entre les spécifications des arguments direct
      et agrégé.
     
nouveau_nomLe nouveau nom de la fonction d'agrégat.
nouveau_propriétaireLe nouveau propriétaire de la fonction d'agrégat.
nouveau_schemaLe nouveau schéma de la fonction d'agrégat.
   La syntaxe recommandée pour référencer un agrégat dont l'ensemble est trié
   revient à écrire ORDER BY entre les spécifications de
   l'argument direct et de l'argument agrégé, dans le même style que CREATE AGGREGATE.
   Néanmoins, cela fonctionnera aussi d'omettre ORDER BY en
   plaçant uniquement les spécifications de l'argument direct et de l'argument
   agrégé. Dans cette forme abréviée, si VARIADIC "any" a été
   utilisé à la fois dans l'argument direct et l'argument agrégé, écrire
   VARIADIC "any" seulement une fois.
  
   Renommer la fonction d'agrégat mamoyenne de type
   integer en ma_moyenne :
   
ALTER AGGREGATE mamoyenne(integer) RENAME TO ma_moyenne;
   Changer le propriétaire de la fonction d'agrégat mamoyenne
   de type integer en joe :
   
ALTER AGGREGATE mamoyenne(integer) OWNER TO joe;
   Pour déplacer l'agrégat mon_pourcentage dont l'argument
   direct est de type float8 et l'argument agrégé de type
   integer dans le schéma mon_schema :
   
ALTER AGGREGATE mamoyenne(integer) SET SCHEMA mon_schema; ALTER AGGREGATE mon_pourcentage(float8 ORDER BY integer) SET SCHEMA mon_schema;
Ceci fonctionne aussi :
ALTER AGGREGATE mon_pourcentage(float8, integer) SET SCHEMA mon_schema;
   Il n'y a pas de commande ALTER AGGREGATE dans le standard
   SQL.