PostgreSQL 中文参考文档
🌐 英文原版 官方 ↗

Chapter 38. 事件触发器

Table of Contents

38.1. 事件触发器行为概述
38.1.1. login 登录事件
38.1.2. ddl_command_start DDL 开始执行前事件
38.1.3. ddl_command_end DDL 执行完成事件
38.1.4. sql_drop 对象删除事件
38.1.5. table_rewrite 表重写事件
38.1.6. 异常中止事务中的事件触发器
38.1.7. 创建事件触发器
38.2. C 语言编写事件触发器
38.3. 事件触发器基础示例
38.4. 表重写事件触发器示例
38.5. 数据库登录事件触发器示例

作为对 Chapter 37 中介绍的常规 DML 数据行触发器的重大功能补充,PostgreSQL 提供了强大的事件触发器(Event Triggers)。与绑定在单张数据表上、仅捕获行级数据变更(INSERT/UPDATE/DELETE)的常规触发器不同,事件触发器在整个数据库全局生效,并且能够精准捕获各类数据库定义(DDL)变更事件以及用户登录连接事件。

类似于常规触发器,事件触发器可以使用支持该特性的任何过程语言(如 PL/pgSQL)或 C 语言编写,但不能直接使用纯 SQL 语言编写。