本节列出了影响PL/Tcl的配置参数。
pltcl.start_proc
(string
)
此参数如果设置为非空字符串,则指定无论什么时候为PL/Tcl创建新的Tcl 解释器都要执行的无参数PL/Tcl函数的名称(可能是模式限定的)。 这样的函数可以执行每个会话的初始化,例如加载额外的Tcl代码。 当在数据库会话中首次执行PL/Tcl函数时,或者由于新的SQL角色调用了PL/Tcl 函数而必须创建额外的解释器时,会创建一个新的Tcl解释器。
引用的函数必须以pltcl
语言编写,且不得标记为
SECURITY DEFINER
。(这些限制确保它在它应该初始化的解释器中运行。)
当前用户也必须有权调用它。
如果函数因错误而失败,它将中止导致新解释器被创建并传播到调用查询的函数调用, 导致当前事务或子事务被中止。在Tcl中已经完成的任何操作都不会被撤消; 但是,不会再使用该解释器。如果再次使用该函数,则将在新的Tcl解释器中再次尝试初始化。
只有超级用户可以更改此设置。尽管可以在会话中更改此设置, 但这些更改不会影响已经创建的Tcl解释器。
pltclu.start_proc
(string
)
该参数与pltcl.start_proc
完全相同,
只是它适用于PL/TclU。引用的函数必须用pltclu
语言编写。