43.26. pg_pltemplate

Le catalogue pg_pltemplate stocke les informations modèles (« template ») des langages de procédures. Un modèle de langage permet la création de ce langage dans une base de données particulière à l'aide d'une simple commande CREATE LANGUAGE, sans qu'il soit nécessaire de spécifier les détails de l'implantation.

Contrairement à la plupart des catalogues système, pg_pltemplate est partagé par toutes les bases de données d'un cluster : il n'existe qu'une seule copie de pg_pltemplate par cluster, et non pas une par base de données. L'information est de ce fait accessible à toute base de données.

Tableau 43.26. Colonnes de pg_pltemplate

Nom Type Description
tmplname name Nom du langage auquel est associé le modèle
tmpltrusted boolean True s'il s'agit d'un langage de confiance
tmplhandler text Nom de la fonction de gestion des appels
tmplvalidator text Nom de la fonction de validation, ou NULL si aucune
tmpllibrary text Chemin de la bibliothèque partagée qui code le langage
tmplacl aclitem[] Droits d'accès au modèle (actuellement inutilisé)

Il n'existe actuellement aucune commande de manipulation des modèles de langages procéduraux ; pour modifier l'information intégrée, un superutilisateur doit modifier la table en utilisant les commandes INSERT, DELETE ou UPDATE habituelles. Il est probable qu'une future version de PostgreSQL™ propose des commandes permettant de modifier les entrées de façon plus propre.

Lorsqu'il est renseigné, le champ tmplacl gère le contrôle des accès au modèle (c'est-à-dire le droit de créer un langage à partir de ce modèle), mais pas le contrôle des accès aux langages créés à partir de ce modèle.