pg_pltemplate
   Le catalogue pg_pltemplate stocke les informations
   squelettes (« template ») des langages procéduraux. Un squelette
   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 une par base
   de données. L'information est de ce fait accessible à toute base de
   données.
  
Tableau 51.37. 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 | 
tmpldbacreate | boolean | True s'il s'agit d'un langage créé par le
       propriétaire de la base | 
tmplhandler | text | Nom de la fonction de gestion des appels | 
tmplinline | text | Nom de la fonction de gestion des blocs anonymes. NULL sinon | 
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 (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 que pg_pltemplate sera
    supprimé dans une prochaine version de
    PostgreSQL, pour conserver cette information
    des langages de procédure dans leur scripts d'installation respectifs.