PostgreSQL 9.0.4文書 | ||||
---|---|---|---|---|
前のページ | 巻戻し | 第 45章システムカタログ | 早送り | 次のページ |
pg_pltemplateカタログは手続き言語の"テンプレート"に関する情報を格納します。 手続き言語のテンプレートを使用することで、特定のデータベース内で単純なCREATE LANGUAGEコマンドにより言語が作成できます。 実装の詳細を指定する必要はありません。
多くのシステムカタログと異なりpg_pltemplateはクラスタの全てのデータベースに共有されています。 データベース毎ではなく、クラスタ毎にただ1つのpg_pltemplateのコピーがあります。 これにより、それぞれのデータベースは、必要とされたときにデータにアクセスできます。
表 45-31. pg_pltemplateの列
名前 | 型 | 説明 |
---|---|---|
tmplname | name | このテンプレートのための言語の名前 |
tmpltrusted | boolean | 言語が信頼されている場合は真 |
tmpldbacreate | boolean | 言語がデータベース所有者により作成されているかもしれない場合は真 |
tmplhandler | text | 呼び出しハンドラ関数の名前 |
tmplinline | text | 匿名ブロックハンドラ関数の名前。存在しない場合はNULL。 |
tmplvalidator | text | 有効性検査関数の名前。無い場合はNULL |
tmpllibrary | text | 言語を実装している共有ライブラリのパス |
tmplacl | aclitem[] | テンプレートのアクセス権限(まだ未使用) |
手続き言語のテンプレートを扱うコマンドは、今のところありません。 組み込まれた情報を変えるためにはスーパーユーザが、INSERT、DELETEもしくはUPDATEを使用してテーブルを変更する必要があります。 PostgreSQLの将来のリリースではもっと明確な方法で項目を変更するコマンドが提供されるでしょう。
実装された場合は、tmplacl列は、テンプレートから作成された言語ではなく、テンプレート自身のアクセス制御(つまり、言語を作成する権利)を提供します。