Section courante

A propos

Section administrative du site

CREATE LANGUAGE

Crée un langage
PostgreSQL

Syntaxe

CREATE [ ou REPLACE ] [ PROCEDURAL ] LANGUAGE name
CREATE [ ou REPLACE ] [ TRUSTED ] [ PROCEDURAL ] LANGUAGE name HANDLER call_handler [ INLINE inline_handler ] [ VALIDATOR valfunction ]

Paramètres

Nom Description
TRUSTED Ce paramètre permet d'indiquer que le langage n'accorde pas l'accès aux données que l'utilisateur n'aurait pas autrement. Si ce mot clef est omis lors de l'enregistrement du langage, seuls les utilisateurs disposant du privilège de superutilisateur PostgreSQL peuvent utiliser ce langage pour créer de nouvelles fonctions.
PROCEDURAL Ce paramètre est un mot de bruit.
name Ce paramètre permet d'indiquer le nom du nouveau langage procédural. Le nom doit être unique parmi les langues de la base de données. Pour une compatibilité descendante, le nom peut être entouré de guillemets simples.
HANDLER call_handler Ce paramètre permet d'indiquer le nom d'une fonction précédemment enregistrée étant appelée pour exécuter les fonctions du langage procédural. Le gestionnaire d'appel pour un langage procédural doit être écrit dans un langage compilé tel que C avec la convention d'appel de la version 1 et enregistré avec PostgreSQL en tant que fonction ne prenant aucun paramètre et renvoyant le type language_handler, un type d'espace réservé étant simplement utilisé pour identifier la fonction comme un gestionnaire d'appels.
INLINE inline_handler Ce paramètre permet d'indiquer le nom d'une fonction précédemment enregistrée étant appelée pour exécuter un bloc de code anonyme (commande DO) dans ce langage. Si aucune fonction inline_handler n'est spécifiée, le langage ne prend pas en charge les blocs de code anonymes. La fonction de gestion doit prendre un paramètre de type internal, étant la représentation interne de la commande DO, et elle retournera généralement void. La valeur de retour du gestionnaire est ignorée.
VALIDATOR valfunction Ce paramètre permet d'indiquer le nom d'une fonction précédemment enregistrée étant appelée lors de la création d'une nouvelle fonction dans le langage, pour valider la nouvelle fonction. Si aucune fonction de validation n'est spécifiée, une nouvelle fonction ne sera pas vérifiée lors de sa création. La fonction de validation doit prendre un paramètre de type oid, étant l'OID de la fonction à créer, et renverra généralement void. Une fonction de validation inspecte généralement le corps de la fonction pour l'exactitude syntaxique, mais elle peut également examiner d'autres propriétés de la fonction, par exemple si le langage ne peut pas gérer certains types de paramètres. Pour signaler une erreur, la fonction de validation doit utiliser la fonction ereport(). La valeur de retour de la fonction est ignorée.

Description

Cette instruction permet de définir un nouveau langage procédural.



Dernière mise à jour : Jeudi, le 14 Octobre 2021