Redrock Postgres 搜索 英文
版本: 9.4 / 9.5 / 9.6 / 10 / 11 / 12 / 13 / 14 / 15 / 16

41.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 PROCEDURE tclsnitch();