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 語言編寫。

提交更正

如果您在文件中發現任何不正確、與您對特定功能的體驗不符或需要進一步澄清的內容,請使用 此表格 報告文件問題。