Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Référence fonctionnelle pour les extensions linguistiques fiables pour Postgre SQL
Consultez la documentation de référence suivante sur les fonctions disponibles dans Trusted Language Extensions for PostgreSQL. Utilisez ces fonctions pour installer, enregistrer, mettre à jour et gérer vos TLEextensions, c'est-à-dire les extensions Postgre SQL que vous développez à l'aide du kit de développement Trusted Language Extensions.
Fonctions
pgtle.available_extensions
La fonction pgtle.available_extensions
est une fonction à renvoi d'ensemble. Elle renvoie toutes les TLE extensions disponibles dans la base de données. Chaque ligne renvoyée contient des informations sur une seule TLE extension.
Prototype de fonction
pgtle.available_extensions()
Rôle
Aucune.
Arguments
Aucune.
Sortie
name
— Le nom de l'TLEextension.default_version
— Version de l'TLEextension à utiliser lorsqu'elleCREATE EXTENSION
est appelée sans qu'une version soit spécifiée.description
— Une description plus détaillée de l'TLEextension.
Exemple d'utilisation
SELECT * FROM pgtle.available_extensions();
pgtle.available_extension_versions
La fonction available_extension_versions
est une fonction à renvoi d'ensemble. Elle renvoie une liste de toutes les TLE extensions disponibles et de leurs versions. Chaque ligne contient des informations sur une version spécifique de l'TLEextension donnée, notamment si elle nécessite un rôle spécifique.
Prototype de fonction
pgtle.available_extension_versions()
Rôle
Aucune.
Arguments
Aucune.
Sortie
name
— Le nom de l'TLEextension.version
— La version de l'TLEextension.superuser
— Cette valeur s'applique toujoursfalse
à vos TLE extensions. Les autorisations nécessaires pour créer l'TLEextension ou la mettre à jour sont les mêmes que pour créer d'autres objets dans la base de données donnée.trusted
— Cette valeur correspond toujoursfalse
à une TLE extension.relocatable
— Cette valeur correspond toujoursfalse
à une TLE extension.schema
— Spécifie le nom du schéma dans lequel l'TLEextension est installée.requires
— Un tableau contenant les noms des autres extensions nécessaires à cette TLE extension.description
— Une description détaillée de l'TLEextension.
Pour plus d'informations sur les valeurs de sortie, voir Empaqueter des objets associés dans une extension > Fichiers
Exemple d'utilisation
SELECT * FROM pgtle.available_extension_versions();
pgtle.extension_update_paths
La fonction extension_update_paths
est une fonction à renvoi d'ensemble. Elle renvoie une liste de tous les chemins de mise à jour possibles pour une TLE extension. Chaque ligne inclut les mises à niveau ou rétrogradations disponibles pour cette TLE extension.
Prototype de fonction
pgtle.extension_update_paths(name)
Rôle
Aucune.
Arguments
name
— Le nom de l'TLEextension à partir de laquelle obtenir les chemins de mise à niveau.
Sortie
source
: version source d'une mise à jour.target
: version cible d'une mise à jour.path
— Le chemin de mise à niveau utilisé pour mettre à jour une TLE extension d'unesource
target
version à l'autre, par exemple,0.1--0.2
.
Exemple d'utilisation
SELECT * FROM pgtle.extension_update_paths('
your-TLE
');
pgtle.install_extension
La install_extension
fonction vous permet d'installer les artefacts qui constituent votre TLE extension dans la base de données, après quoi elle peut être créée à l'aide de la CREATE
EXTENSION
commande.
Prototype de fonction
pgtle.install_extension(name text, version text, description text, ext text, requires text[] DEFAULT NULL::text[])
Rôle
Aucune.
Arguments
name
— Le nom de l'TLEextension. Cette valeur est utilisée lors d'un appel deCREATE EXTENSION
.version
— La version de l'TLEextension.description
— Une description détaillée de l'TLEextension. Cette description est affichée dans le champcomment
depgtle.available_extensions()
.ext
— Le contenu de l'TLEextension. Cette valeur contient des objets tels que des fonctions.requires
— Paramètre facultatif qui spécifie les dépendances de cette TLE extension. L'extensionpg_tle
est automatiquement ajoutée en tant que dépendance.
La plupart de ces arguments sont identiques à ceux inclus dans un fichier de contrôle d'extension pour installer une SQL extension Postgre sur le système de fichiers d'une instance PostgreSQL. Pour plus d'informations, consultez les fichiers d'extension
Sortie
Cette fonction renvoie OK
en cas de réussite ou NULL
en cas d'erreur.
OK
— L'TLEextension a été correctement installée dans la base de données.NULL
— L'TLEextension n'a pas été correctement installée dans la base de données.
Exemple d'utilisation
SELECT pgtle.install_extension( 'pg_tle_test', '0.1', 'My first pg_tle extension', $_pgtle_$ CREATE FUNCTION my_test() RETURNS INT AS $$ SELECT 42; $$ LANGUAGE SQL IMMUTABLE; $_pgtle_$ );
pgtle.install_update_path
La install_update_path
fonction fournit un chemin de mise à jour entre deux versions différentes d'une TLE extension. Cette fonction permet aux utilisateurs de votre TLE extension de mettre à jour sa version en utilisant la ALTER EXTENSION ... UPDATE
syntaxe.
Prototype de fonction
pgtle.install_update_path(name text, fromvers text, tovers text, ext text)
Rôle
pgtle_admin
Arguments
name
— Le nom de l'TLEextension. Cette valeur est utilisée lors d'un appel deCREATE EXTENSION
.fromvers
— La version source de l'TLEextension pour la mise à niveau.tovers
— Version de destination de l'TLEextension pour la mise à niveau.ext
: contenu de la mise à jour. Cette valeur contient des objets tels que des fonctions.
Sortie
Aucune.
Exemple d'utilisation
SELECT pgtle.install_update_path('pg_tle_test', '0.1', '0.2', $_pgtle_$ CREATE OR REPLACE FUNCTION my_test() RETURNS INT AS $$ SELECT 21; $$ LANGUAGE SQL IMMUTABLE; $_pgtle_$ );
pgtle.register_feature
La register_feature
fonction ajoute la SQL fonctionnalité interne Postgre spécifiée à la pgtle.feature_info
table. Les SQL hooks Postgre sont un exemple de fonctionnalité interne de PostgreSQL. Le kit de développement Trusted Language Extensions prend en charge l'utilisation des SQL hooks Postgre. Actuellement, cette fonction prend en charge la fonctionnalité suivante.
passcheck
— Enregistre le crochet de vérification des mots de passe avec votre procédure ou fonction qui personnalise le comportement de vérification des mots de passe de SQL Postgre.
Prototype de fonction
pgtle.register_feature(proc regproc, feature pg_tle_feature)
Rôle
pgtle_admin
Arguments
proc
: nom d'une procédure ou d'une fonction stockée à utiliser pour la fonctionnalité.feature
: nom de la fonctionnalitépg_tle
(tel quepasscheck
) à enregistrer avec la fonction.
Sortie
Aucune.
Exemple d'utilisation
SELECT pgtle.register_feature('pw_hook', 'passcheck');
pgtle.register_feature_if_not_exists
La pgtle.register_feature_if_not_exists
fonction ajoute la SQL fonctionnalité Postgre spécifiée au pgtle.feature_info
tableau et identifie l'TLEextension ou l'autre procédure ou fonction qui utilise cette fonctionnalité. Pour plus d'informations sur les hooks et le kit Trusted Language Extensions, consultez Utiliser les SQL hooks Postgre avec vos extensions TLE.
Prototype de fonction
pgtle.register_feature_if_not_exists(proc regproc, feature pg_tle_feature)
Rôle
pgtle_admin
Arguments
proc
— Le nom d'une procédure stockée ou d'une fonction contenant la logique (code) à utiliser comme fonctionnalité pour votre TLE extension. Par exemple, le codepw_hook
.feature
— Le nom de la SQL fonctionnalité Postgre à enregistrer pour la TLE fonction. Actuellement, la seule fonctionnalité disponible est le hookpasscheck
. Pour de plus amples informations, veuillez consulter Crochet de vérification du mot de passe (passcheck).
Sortie
Renvoie true
après l'enregistrement de la fonction pour l'extension spécifiée. Renvoie false
si la fonctionnalité est déjà enregistrée.
Exemple d'utilisation
SELECT pgtle.register_feature_if_not_exists('pw_hook', 'passcheck');
pgtle.set_default_version
La set_default_version
fonction vous permet de spécifier un default_version
pour votre TLE extension. Vous pouvez utiliser cette fonction pour définir un chemin de mise à niveau et désigner la version par défaut pour votre TLE extension. Lorsque les utilisateurs de base de données spécifient votre TLE extension dans les ALTER EXTENSION ... UPDATE
commandes CREATE EXTENSION
et, cette version de votre TLE extension est créée dans la base de données pour cet utilisateur.
Cette fonction renvoie true
en cas de réussite. Si l'TLEextension spécifiée dans l'name
argument n'existe pas, la fonction renvoie une erreur. De même, si version
l'TLEextension n'existe pas, elle renvoie une erreur.
Prototype de fonction
pgtle.set_default_version(name text, version text)
Rôle
pgtle_admin
Arguments
name
— Le nom de l'TLEextension. Cette valeur est utilisée lors d'un appel deCREATE EXTENSION
.version
— Version de l'TLEextension pour définir la valeur par défaut.
Sortie
true
: lorsque la définition de la version par défaut réussit, la fonction renvoietrue
.ERROR
— Renvoie un message d'erreur si aucune TLE extension portant le nom ou la version spécifiés n'existe.
Exemple d'utilisation
SELECT * FROM pgtle.set_default_version('my-extension', '1.1');
pgtle.uninstall_extension(name)
La uninstall_extension
fonction supprime toutes les versions d'une TLE extension d'une base de données. Cette fonction empêche les futurs appels CREATE EXTENSION
de pour installer l'TLEextension. Si l'TLEextension n'existe pas dans la base de données, une erreur est générée.
La uninstall_extension
fonction ne supprime pas une TLE extension actuellement active dans la base de données. Pour supprimer une TLE extension actuellement active, vous devez appeler explicitement DROP EXTENSION
pour la supprimer.
Prototype de fonction
pgtle.uninstall_extension(extname text)
Rôle
pgtle_admin
Arguments
extname
— Nom de l'TLEextension à désinstaller. Ce nom est le même que celui utilisé pour charger l'TLEextensionCREATE EXTENSION
à utiliser dans une base de données donnée.
Sortie
Aucune.
Exemple d'utilisation
SELECT * FROM pgtle.uninstall_extension('pg_tle_test');
pgtle.uninstall_extension(name, version)
La uninstall_extension(name, version)
fonction supprime la version spécifiée de l'TLEextension de la base de données. Cette fonction empêche CREATE
EXTENSION
et ALTER EXTENSION
empêche l'installation ou la mise à jour d'une TLE extension vers la version spécifiée. Cette fonction supprime également tous les chemins de mise à jour pour la version spécifiée de l'TLEextension. Cette fonction ne désinstalle pas l'TLEextension si elle est actuellement active dans la base de données. Vous devez appeler explicitement DROP EXTENSION
pour supprimer l'TLEextension. Pour désinstaller toutes les versions d'une TLE extension, consultezpgtle.uninstall_extension(name).
Prototype de fonction
pgtle.uninstall_extension(extname text, version text)
Rôle
pgtle_admin
Arguments
extname
— Le nom de l'TLEextension. Cette valeur est utilisée lors d'un appel deCREATE EXTENSION
.version
— Version de l'TLEextension à désinstaller de la base de données.
Sortie
Aucune.
Exemple d'utilisation
SELECT * FROM pgtle.uninstall_extension('pg_tle_test', '0.2');
pgtle.uninstall_extension_if_exists
La uninstall_extension_if_exists
fonction supprime toutes les versions d'une TLE extension d'une base de données donnée. Si l'TLEextension n'existe pas, la fonction revient silencieusement (aucun message d'erreur n'est généré). Si l'extension spécifiée est actuellement active dans une base de données, cette fonction ne la supprime pas. Vous devez appeler explicitement DROP EXTENSION
pour supprimer l'TLEextension avant d'utiliser cette fonction pour désinstaller ses artefacts.
Prototype de fonction
pgtle.uninstall_extension_if_exists(extname text)
Rôle
pgtle_admin
Arguments
extname
— Le nom de l'TLEextension. Cette valeur est utilisée lors d'un appel deCREATE EXTENSION
.
Sortie
La fonction uninstall_extension_if_exists
renvoie true
après avoir désinstallé l'extension spécifiée. Si l'extension spécifiée n'existe pas, la fonction renvoie false
.
true
— Retournetrue
après la désinstallation de l'TLEextension.false
— Retournefalse
lorsque l'TLEextension n'existe pas dans la base de données.
Exemple d'utilisation
SELECT * FROM pgtle.uninstall_extension_if_exists('pg_tle_test');
pgtle.uninstall_update_path
La uninstall_update_path
fonction supprime le chemin de mise à jour spécifique d'une TLE extension. Cela empêche ALTER EXTENSION ... UPDATE TO
de l'utiliser comme chemin de mise à jour.
Si l'TLEextension est actuellement utilisée par l'une des versions de ce chemin de mise à jour, elle reste dans la base de données.
Si le chemin de mise à jour spécifié n'existe pas, cette fonction génère une erreur.
Prototype de fonction
pgtle.uninstall_update_path(extname text, fromvers text, tovers text)
Rôle
pgtle_admin
Arguments
extname
— Le nom de l'TLEextension. Cette valeur est utilisée lors d'un appel deCREATE EXTENSION
.fromvers
— Version source de l'TLEextension utilisée dans le chemin de mise à jour.tovers
— Version de destination de l'TLEextension utilisée dans le chemin de mise à jour.
Sortie
Aucune.
Exemple d'utilisation
SELECT * FROM pgtle.uninstall_update_path('pg_tle_test', '0.1', '0.2');
pgtle.uninstall_update_path_if_exists
La uninstall_update_path_if_exists
fonction est similaire uninstall_update_path
en ce sens qu'elle supprime le chemin de mise à jour spécifié d'une TLE extension. Toutefois, si le chemin de mise à jour n'existe pas, cette fonction ne renvoie pas de message d'erreur. Au lieu de cela, la fonction renvoie false
.
Prototype de fonction
pgtle.uninstall_update_path_if_exists(extname text, fromvers text, tovers text)
Rôle
pgtle_admin
Arguments
extname
— Le nom de l'TLEextension. Cette valeur est utilisée lors d'un appel deCREATE EXTENSION
.fromvers
— Version source de l'TLEextension utilisée dans le chemin de mise à jour.tovers
— Version de destination de l'TLEextension utilisée dans le chemin de mise à jour.
Sortie
true
— La fonction a correctement mis à jour le chemin de l'TLEextension.false
— La fonction n'a pas pu mettre à jour le chemin de l'TLEextension.
Exemple d'utilisation
SELECT * FROM pgtle.uninstall_update_path_if_exists('pg_tle_test', '0.1', '0.2');
pgtle.unregister_feature
La fonction unregister_feature
permet de supprimer les fonctions qui ont été enregistrées pour utiliser des fonctionnalités pg_tle
, telles que les hooks. Pour obtenir des informations sur l'enregistrement d'une fonctionnalité, consultez pgtle.register_feature.
Prototype de fonction
pgtle.unregister_feature(proc regproc, feature pg_tle_features)
Rôle
pgtle_admin
Arguments
proc
: nom d'une fonction stockée à enregistrer avec une fonctionnalitépg_tle
.feature
: nom de la fonctionnalitépg_tle
à enregistrer avec la fonction. Par exemple,passcheck
est une fonctionnalité qui peut être enregistrée pour être utilisée par les extensions Trusted Language Extensions (TLE) que vous développez. Pour de plus amples informations, veuillez consulter Crochet de vérification du mot de passe (passcheck).
Sortie
Aucune.
Exemple d'utilisation
SELECT * FROM pgtle.unregister_feature('pw_hook', 'passcheck');
pgtle.unregister_feature_if_exists
La fonction unregister_feature
permet de supprimer les fonctions qui ont été enregistrées pour utiliser des fonctionnalités pg_tle
, telles que les hooks. Pour de plus amples informations, veuillez consulter Utiliser les SQL hooks Postgre avec vos extensions TLE. Renvoie true
après avoir réussi à annuler l'enregistrement de la fonctionnalité. Renvoie false
si la fonctionnalité n'a pas été enregistrée.
Pour plus d'informations sur l'enregistrement des pg_tle
fonctionnalités TLE de vos extensions, consultezpgtle.register_feature.
Prototype de fonction
pgtle.unregister_feature_if_exists('proc regproc', 'feature pg_tle_features')
Rôle
pgtle_admin
Arguments
proc
: nom de la fonction stockée qui a été enregistrée pour inclure une fonctionnalitépg_tle
.feature
: nom de la fonctionnalitépg_tle
qui a été enregistrée avec l'extension de langage approuvé.
Sortie
Renvoie true
ou false
, comme suit.
true
: la fonction a annulé l'enregistrement de la fonctionnalité à l'extension.false
— La fonction n'a pas pu annuler l'enregistrement de la fonctionnalité dans l'TLEextension.
Exemple d'utilisation
SELECT * FROM pgtle.unregister_feature_if_exists('pw_hook', 'passcheck');