Documentation PostgreSQL 14.22 » Programmation serveur » Étendre SQL » Fonctions internes

Précédent | Niveau supérieur | Suivant
38.8. Fonctions en langage de procédures | Sommaire | 38.10. Fonctions en langage C

## 38.9. Fonctions internes

Les fonctions internes sont des fonctions écrites en C qui ont été liées de façon statique dans le serveur PostgreSQL. Le « corps » de la définition de la fonction spécifie le nom en langage C de la fonction, qui n'est pas obligatoirement le même que le nom déclaré pour l'utilisation en SQL (pour des raisons de rétro compatibilité, un corps vide est accepté pour signifier que le nom de la fonction en langage C est le même que le nom SQL).

Normalement, toutes les fonctions internes présentes dans le serveur sont déclarées pendant l'initialisation du groupe de base de données (voir Section 19.2) mais un utilisateur peut utiliser la commande `CREATE FUNCTION` pour créer des noms d'alias supplémentaires pour une fonction interne. Les fonctions internes sont déclarées dans la commande `CREATE FUNCTION` avec le nom de langage `internal`. Par exemple, pour créer un alias de la fonction `sqrt` :

    CREATE FUNCTION racine_carree(double precision) RETURNS double precision    AS
    'dsqrt'
    LANGUAGE internal    STRICT;

(la plupart des fonctions internes doivent être déclarées « STRICT »)

### Note

Toutes les fonctions « prédéfinies » ne sont pas internes (au sens explicité ci-dessus). Quelques fonctions prédéfinies sont écrites en SQL.