本部分列出了影响 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
语言编写。