↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

受支持版本: 当前版本 (18) / 17 / 16 / 15 / 14
测试与开发版本: 19 / devel
不受支持的版本: 13 / 12 / 11 / 10
历史版本PostgreSQL 10 已于 2022 年 11 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本。

43.10. PL/Tcl 配置 #

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

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。