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

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

受支持版本: 当前版本 (18) / 17 / 16 / 15 / 14
测试与开发版本: 19 / devel
不受支持的版本: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4
测试版PostgreSQL 19 RC 1 尚未正式发布,内容与行为在正式发布前可能变化。正式内容请看当前版本。

42.7. PL/Tcl 中的事件触发器函数 #

事件触发器函数也可以用 PL/Tcl 编写。PostgreSQL 要求,凡是要作为事件触发器调用的函数,都必须声明为无参数且返回类型为 event_trigger。

来自触发器管理器的信息会通过下列变量传递给函数体:

$TG_event #

该触发器所针对的事件名称。

$TG_tag #

该触发器所针对的命令标签。

触发器函数的返回值会被忽略。

下面是一个小型事件触发器函数示例。每当执行受支持的命令时,它都会简单地发出一条 NOTICE 消息:

CREATE OR REPLACE FUNCTION tclsnitch() RETURNS event_trigger AS $$
  elog NOTICE "tclsnitch: $TG_event $TG_tag"
$$ LANGUAGE pltcl;

CREATE EVENT TRIGGER tcl_a_snitch ON ddl_command_start EXECUTE FUNCTION tclsnitch();

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游会在正式发布前持续修订。