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