CREATE EVENT TRIGGER
是一个 DDL 命令,用于定义一个事件触发器。
CREATE EVENT TRIGGER
在PostgreSQL 9.3 中添加。
更改历史记录
- PostgreSQL 11
EXECUTE FUNCTION
语法添加(提交 3b983c33)
- PostgreSQL 9.3
- 添加(初始提交 3855968f)
示例
CREATE EVENT TRIGGER
的基本用法示例
postgres=# CREATE OR REPLACE FUNCTION forbid_table_rewrites() RETURNS event_trigger LANGUAGE plpgsql AS $$ BEGIN RAISE EXCEPTION 'command % prohibited', tg_tag; END; $$; postgres=# CREATE EVENT TRIGGER forbid_rewrites ON table_rewrite EXECUTE FUNCTION forbid_table_rewrites(); CREATE EVENT TRIGGER postgres=# ALTER TABLE foo ALTER COLUMN id TYPE BIGINT; ERROR: command ALTER TABLE prohibited CONTEXT: PL/pgSQL function forbid_table_rewrites() line 3 at RAISE
参考
- PostgreSQL 文档: CREATE EVENT TRIGGER