pg_pltemplate #目录pg_pltemplate存储过程语言的“模板”信息。 有了语言模板,就可以用简单的CREATE LANGUAGE命令在特定数据库中创建该语言,无需指定实现细节。
与大多数系统目录不同,pg_pltemplate由一个集簇中的所有数据库共享: 每个集簇只有一份pg_pltemplate,而不是每个数据库各有一份。 这样,每个数据库都可以在需要时访问这些信息。
Table 51.37. pg_pltemplate列
| Name | 类型 | 描述 |
|---|---|---|
tmplname |
name |
此模板所对应的语言名称 |
tmpltrusted |
boolean |
如果该语言被视为可信语言,则为真 |
tmpldbacreate |
boolean |
如果数据库拥有者可以创建该语言,则为真 |
tmplhandler |
text |
调用处理器函数的名称 |
tmplinline |
text |
匿名块处理器函数的名称;如果没有则为空 |
tmplvalidator |
text |
验证器函数的名称;如果没有则为空 |
tmpllibrary |
text |
实现该语言的共享库的路径 |
tmplacl |
aclitem[] |
模板的访问权限(实际上未使用) |
目前没有用于操纵过程语言模板的命令;要更改内置信息,超级用户必须使用普通的INSERT、DELETE或UPDATE命令修改此表。
pg_pltemplate很可能会在PostgreSQL的某个未来版本中移除, 改为将这些过程语言的信息保存在各自的扩展安装脚本中。