43.26. pg_pltemplate

pg_pltemplateカタログは手続き言語の"template"関する情報を格納します。手続き言語のテンプレートを使用することで、特定のデータベース内で単純なCREATE LANGUAGEコマンドにより言語が作成できます。 実装の詳細を指定する必要はありません。

多くのシステムカタログと異なりpg_pltemplateはクラスタの全てのデータベースに共有されています。データベースごとではなく、クラスタごとにただ1つのpg_pltemplateのコピーがあります。 これにより、それぞれのデータベースは、必要とされたときにデータにアクセスできます。

表 43-26. pg_pltemplateの列

名前参照先説明
tmplnamenameこのテンプレートのための言語の名前 
tmpltrustedboolean言語が信頼されている場合はTrue 
tmplhandlertext呼び出し側の関数の名前 
tmplvalidatortext有効性検査関数の名前。無い場合はNULL 
tmpllibrarytext言語を実装している共有ライブラリのパス 
tmplaclaclitem[]テンプレートのアクセス権限(まだ未使用) 

手続き言語のテンプレートを扱うコマンドは、今のところありません。 組み込まれた情報を変えるためにはスーパーユーザが、INSERTDELETEもしくはUPDATEを使用してテーブルを変更する必要があります。 PostgreSQLの将来のリリースではもっと明確な方法でエントリを変えるようなコマンドが提供されるでしょう。

実装された場合は、tmplacl列が、テンプレートから作成された言語ではなく、テンプレート自身のアクセス制御を提供します(つまり、言語を作成する権利のことです)。