47.35. pg_pltemplate

pg_pltemplate表为过程语言存储"模板"信息。 一个语言的模板允许该语言可以在某个数据库里使用简单的CREATE LANGUAGE命令创建, 而不需要声明实现细节。

和许多系统表不一样,pg_pltemplate是在集群里的所有数据库之间共享的: 每个集群只有一个pg_pltemplate的拷贝,而不是每个数据库一个。 这样就允许这些信息在需要时每个数据库都可以访问。

Table 47-35. pg_pltemplate 字段

名字 类型 描述
tmplname name 这个模板所应用的语言的名字
tmpltrusted boolean 如果语言被认为是可信的,则为真
tmpldbacreate boolean 如果语言可以通过数据库所有者创建则为真
tmplhandler text 调用处理器函数的名字
tmplinline text 匿名块处理器函数的名字,如果没有则为null
tmplvalidator text 校验函数的名字,如果没有则为 NULL
tmpllibrary text 实现语言的共享库的路径
tmplacl aclitem[] 模板的访问权限(未使用)

目前还没有任何命令可以用于操作过程语言模板;要修改内置的信息, 超级用户必须使用普通的INSERT, DELETE, UPDATE命令修改该表。

Note: 很有可能在将来的PostgreSQL版本中删除pg_pltemplate, 为了支持过程语言的信息保持在它们各自的扩展安装脚本中。