受支持版本: 当前版本 (18) / 17 / 16 / 15 / 14
开发版本: devel

42.11. PL/Tcl 配置 #

本节列出影响PL/Tcl的配置参数。

pltcl.start_proc (string) #

如果该参数被设置为非空字符串,它就指定一个无参数 PL/Tcl 函数的名称(可能带模式限定)。每当为 PL/Tcl 创建新的 Tcl 解释器时,这个函数都会被执行。这样的函数可以执行每个会话的初始化,例如装载额外的 Tcl 代码。当某个 PL/Tcl 函数在数据库会话中第一次执行时,或者由于某个 PL/Tcl 函数是由新的 SQL 角色调用而必须再创建一个解释器时,就会创建新的 Tcl 解释器。

被引用的函数必须使用pltcl语言编写,并且不得标记为SECURITY DEFINER。(这些限制可确保它运行在自己应当初始化的解释器中。)当前用户还必须拥有调用它的权限。

如果该函数因错误而失败,就会中止导致新解释器被创建的那个函数调用,并把错误传播到调用查询,进而导致当前事务或子事务中止。已经在 Tcl 中完成的任何动作都不会被撤销;不过,该解释器之后将不会再被使用。如果再次使用该语言,就会在一个全新的 Tcl 解释器中再次尝试初始化。

只有超级用户才能更改此设置。尽管可以在会话内更改该设置,但这类更改不会影响已经创建好的 Tcl 解释器。

pltclu.start_proc (string) #

这个参数与pltcl.start_proc完全相同,只不过它适用于 PL/TclU。被引用的函数必须使用pltclu语言编写。

提交更正

如果您发现文档中有不正确的内容、与您使用特定功能的经验不符或需要进一步说明,请使用此表单来报告文档问题。