DROP ROUTINE — Supprimer une routine
DROP ROUTINE [ IF EXISTS ]nom[ ( [ [mode_arg] [nom_arg]type_arg[, ...] ] ) ] [, ...] [ CASCADE | RESTRICT ]
   DROP ROUTINE supprime la définition d'une routine
   existante ou de plusieurs. Le terme « routine » inclut les
   fonctions d'agrégat, les fonctions normales et les
   procédures. Voir DROP AGGREGATE, DROP FUNCTION, et DROP PROCEDURE pour
   la description des paramètres, plus d'exemples, et de détails.
  
   Les règles de recherche utilisées par DROP ROUTINE sont
   fondamentalement les mêmes que pour DROP
   PROCEDURE ; en particulier, DROP ROUTINE
   considère lui-aussi une liste d'arguments qui n'a pas de marqueurs
   argmode comme utilisant
   probablement la définition du standard SQL pour laquelle des arguments
   OUT sont inclus dans la liste.
   (DROP AGGREGATE et DROP FUNCTION ne
   le fait pas.)
  
   Dans certains cas où le même nom est partagé par des routines de type
   différent, il est possible que DROP ROUTINE échoue avec
   une erreur d'ambiguïté quand une commande plus spécifique
   (DROP FUNCTION, etc.) fonctionnerait. Indiquer
   précisément la liste des types d'arguments peut aussi résoudre de tels
   problèmes.
  
   Ces règles de recherche sont aussi utilisées par d'autres commandes qui
   agissent sur les routines existantes, telles que ALTER
   ROUTINE et COMMENT ON ROUTINE.
  
   Pour supprimer la routine foo pour le type
   integer :
   
DROP ROUTINE foo(integer);
   Cette commande fonctionnera indépendamment du type de
   foo (fonction d'agrégat, fonction, procédure).
  
Cette commande se conforme au standard SQL, avec ces extensions PostgreSQL :
Le standard autorise aussi la suppression d'une routine par commande.
L'option IF EXISTS est une extension.
La possibilité de spécifier les modes et noms des arguments est une extension, et les règles de recherche diffèrent quand les modes sont indiqués.
Les fonctions d'agrégat définies par les utilisateurs sont une extension.
   Notez qu'il n'existe pas de commande CREATE ROUTINE.