2025年9月25日: PostgreSQL 18 发布!
支持的版本: 当前 (18) / 17 / 16 / 15 / 14 / 13
开发版本: devel
不支持的版本: 12 / 11 / 10

42.11. 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 解释器。

pltclu.start_proc (string) #

此参数与 pltcl.start_proc 完全相同,但它适用于 PL/TclU。引用的函数必须用 pltclu 语言编写。

提交更正

如果您在文档中发现任何不正确、与您对特定功能的体验不符或需要进一步澄清的内容,请使用 此表格 报告文档问题。