Postgresql 中文操作指南

44.11. PL/Tcl Configuration #

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