[11/15開催: PostgreSQL Conference Japan 2019 参加受付中] 
他のバージョンの文書 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

45.31. pg_pltemplate

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

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

表 45-31. pg_pltemplateの列

名前説明
tmplnamenameこのテンプレートのための言語の名前
tmpltrustedboolean言語が信頼されている場合は真
tmpldbacreateboolean言語がデータベース所有者により作成されているかもしれない場合は真
tmplhandlertext呼び出しハンドラ関数の名前
tmplinlinetext匿名ブロックハンドラ関数の名前。存在しない場合はNULL。
tmplvalidatortext有効性検査関数の名前。無い場合はNULL
tmpllibrarytext言語を実装している共有ライブラリのパス
tmplaclaclitem[]テンプレートのアクセス権限(まだ未使用)

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

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