pg_pltemplate
pg_pltemplateカタログは手続き言語の「テンプレート」に関する情報を格納します。
手続き言語のテンプレートを使用することで、特定のデータベース内で単純なCREATE LANGUAGEコマンドにより言語が作成できます。
実装の詳細を指定する必要はありません。
  
多くのシステムカタログと異なりpg_pltemplateはクラスタの全てのデータベースに共有されています。
データベース毎ではなく、クラスタ毎にただ1つのpg_pltemplateのコピーがあります。
これにより、それぞれのデータベースは、必要とされたときにデータにアクセスできます。
  
表52.37 pg_pltemplateの列
| 名前 | 型 | 説明 | 
|---|---|---|
| tmplname | name | このテンプレートのための言語の名前 | 
| tmpltrusted | boolean | 言語が信頼されている場合は真 | 
| tmpldbacreate | boolean | 言語がデータベース所有者により作成されているかもしれない場合は真 | 
| tmplhandler | text | 呼び出しハンドラ関数の名前 | 
| tmplinline | text | 匿名ブロックハンドラ関数の名前。存在しない場合はNULL。 | 
| tmplvalidator | text | 有効性検査関数の名前。無い場合はNULL | 
| tmpllibrary | text | 言語を実装している共有ライブラリのパス | 
| tmplacl | aclitem[] | テンプレートのアクセス権限(実際には未使用) | 
手続き言語のテンプレートを扱うコマンドは、今のところありません。
組み込まれた情報を変えるためにはスーパーユーザが、INSERT、DELETEもしくはUPDATEを使用してテーブルを変更する必要があります。
  
手続き言語に関するこの情報を対応する拡張インストール用スクリプトで保持することを優先させ、今後のPostgreSQLのリリースでpg_pltemplateは削除される予定です。