PostgreSQLLa base de données la plus sophistiquée au monde.
Documentation PostgreSQL 16.6 » Programmation serveur » PL/Tcl -- Langage de procédures Tcl » Configuration PL/Tcl

44.11. Configuration PL/Tcl #

Cette section liste les paramètre de configuration qui affectent PL/Tcl.

pltcl.start_proc (string) #

Ce paramètre, s'il est positionné à autre chose qu'une chaîne vide, spécifie le nom (potentiellement qualifié du schéma) d'ue fonction PL/Tcl sans paramètre qui doit être exécutée chaque fois qu'un nouvel interpréteur Tcl est crée pour Pl/Tcl. Une telle fonction peut effectuer une initialisation pour la session, comme charger du code Tcl additionnel. Un nouvel interpréteur Tcl est créé wuen une fonction PL/Tcl est exécutée pour la première fois dans une session, ou quand un autre interpréteur doit être crée du fait de l'appel à une fonction PL/Tcl par un nouveau rôle SQL.

La fonction référencée doit être écrite dans le langage pltcl, et ne doit pas être marquée comme SECURITY DEFINER. (Ces restrictions s'assurent que la fonction est lancée dans l'interpréteur qu'elle est censée initialisée.) L'utilisateur courant doit avoir l'autorisation d'appeler cette fonction également.

Si la fonction échoue avec une erreur cela annulera l'appel à la fonction qui a causée la création du nouvel interpréteur et l'erreur sera propagée jusqu'à la requête appelante, annulant de fait la transaction ou sous transaction courante. Toute action déjà effectuée au sein de Tcl ne sera pas annulée; toutefois, cette interpréteur ne sera jamais réutilisé. Si le langage est utilisé à nouveau l'initialisation sera de nouveau tentée avec une nouvel interpréteur Tcl.

Seuls les superutilisateurs peuvent modifier ce paramètre. Bien que ce paramètre puisse être changé au sein d'une session, un tel changement n'affectera pas les interpréteurs Tcl qui ont déjà été créés.

pltclu.start_proc (string) #

Ce paramètre est exactement comme pltcl.start_proc, sauf qu'il s'applique à PL/TclU. La fonction référencée doit être écrite dans le langage pltclu.