PL/Perl事件触发器

PostgreSQL 9.4.4 中文手册
上一页 | 上一级 | 章 42. PL/Perl - Perl 过程语言 | 下一页

# 42.7. PL/Perl事件触发器

PL/Perl可以用来书写事件触发器函数。在一个事件触发器函数中， 散列引用`$_TD`包含关于当前触发器事件的信息。 `$_TD`是一个全局变量，它获取每个触发器调用的单独的本地值。 `$_TD`域的散列引用是：

`$_TD->{event}`

  触发触发器的事件的名字。

`$_TD->{tag}`

  被触发的触发器的命令标签。

被忽略的触发器程序的返回值。

这里有一个事件触发器函数的示例，对上面的一些描述做了解释：

    CREATE OR REPLACE FUNCTION perlsnitch() RETURNS event_trigger AS $$
      elog(NOTICE, "perlsnitch: " . $_TD->{event} . " " . $_TD->{tag} . " ");
    $$ LANGUAGE plperl;

    CREATE EVENT TRIGGER perl_a_snitch
        ON ddl_command_start
        EXECUTE PROCEDURE perlsnitch();

上一页 | 起始页 | 下一页
PL/Perl 触发器 | 上一级 | 后台PL/Perl