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

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

百科 / SQL 命令 / 触发器与规则

SQL COMMAND · 触发器与规则

ALTER TRIGGER

更改触发器的定义

change the definition of a trigger

ALTER触发器与规则引入 7.3现存至 20 devel5 次语法变更

动词
ALTER
对象
TRIGGER
引入版本
7.3
状态
现存
语法变更次数
5
手册小节数
6

本站手册 · 18官方文档 ↗

版本轨迹

相对 PostgreSQL 17 无变化。

语法铁道图 PostgreSQL 18

沿轨道从左向右阅读,分岔表示选择,绕行表示可选,回环表示重复。方框为参数,点击带下划线的参数可展开子规则。

ALTER TRIGGER name ON table_name RENAME TO new_name
ALTER TRIGGER · 语法 2
ALTER TRIGGER name ON table_name NO DEPENDS ON EXTENSION extension_name

语法概要

ALTER TRIGGER name ON table_name RENAME TO new_name
ALTER TRIGGER name ON table_name [ NO ] DEPENDS ON EXTENSION extension_name

PostgreSQL 18 手册 · 查看完整参考页

描述

ALTER TRIGGER 更改现有触发器的属性。

RENAME 子句更改给定触发器的名称,而不改变该触发器定义的其他部分。如果该触发器所在的表是分区表,则各分区中的对应克隆触发器也会一并重命名。

DEPENDS ON EXTENSION 子句将触发器标记为依赖于某个扩展,这样在删除该扩展时,该触发器也会自动删除。

若要更改触发器的属性,你必须拥有该触发器所作用的表。

参数

name

要修改的现有触发器的名称。

table_name

该触发器所作用的表的名称。

new_name

该触发器的新名称。

extension_name

该触发器要依赖的扩展名称(如果指定了 NO,则表示不再依赖该扩展)。被标记为依赖于扩展的触发器会在该扩展被删除时自动删除。

注解

暂时启用或禁用触发器的功能由 ALTER TABLE 提供,而不是 ALTER TRIGGER,因为 ALTER TRIGGER 没有方便的方式来表达一次性启用或禁用一个表上全部触发器这一选项。

示例

要重命名一个现有触发器:

ALTER TRIGGER emp_stamp ON emp RENAME TO emp_track_chgs;

要将一个触发器标记为依赖于某个扩展:

ALTER TRIGGER emp_stamp ON emp DEPENDS ON EXTENSION emplib;

兼容性

ALTER TRIGGER 是 PostgreSQL 对 SQL 标准的扩展。

另见

语法演化

相邻大版本之间的差异,新的在前。版本号链接到对应快照。

  1. PostgreSQL 15← 14正文更新

    正文更新
  2. PostgreSQL 13← 12语法变化

    + ALTER TRIGGER name ON table_name [ NO ] DEPENDS ON EXTENSION extension_name正文更新
  3. PostgreSQL 9.6← 9.5语法变化

    + ALTER TRIGGER name ON table_name DEPENDS ON EXTENSION extension_name正文更新
  4. PostgreSQL 9.2← 9.1语法变化

    + ALTER TRIGGER name ON table_name RENAME TO new_name− ALTER TRIGGER name ON table RENAME TO new_name正文更新
  5. PostgreSQL 9.0← 8.4语法变化

    + ALTER TRIGGER name ON table RENAME TO new_name− ALTER TRIGGER name ON table RENAME TO newname正文更新
  6. PostgreSQL 8.1← 8.0正文更新

    正文更新
  7. PostgreSQL 7.4← 7.3语法变化

    + ALTER TRIGGER name ON table RENAME TO newname− ALTER TRIGGER trigger ON table正文更新
  8. PostgreSQL 7.3← 7.2新增此命令

同组命令

命令动词对象版本变动最近变更
TRIGGERS & RULES触发器与规则10 条↑
CREATE CONSTRAINT TRIGGERCREATECONSTRAINT TRIGGER 9.03 次
定义一个新的约束触发器于 9.1 移除
CREATE EVENT TRIGGERCREATEEVENT TRIGGER 111 次
定义一个新的事件触发器现存
ALTER EVENT TRIGGERALTEREVENT TRIGGER 142 次
更改事件触发器的定义现存
DROP EVENT TRIGGERDROPEVENT TRIGGER —
移除一个事件触发器现存
CREATE RULECREATERULE 9.46 次
定义一条新的重写规则现存
ALTER RULEALTERRULE —
修改一条重写规则的定义现存
DROP RULEDROPRULE 9.25 次
移除一条重写规则现存
CREATE TRIGGERCREATETRIGGER 1911 次
定义一个新触发器现存
ALTER TRIGGERALTERTRIGGER 135 次
更改触发器的定义现存
DROP TRIGGERDROPTRIGGER 9.23 次
移除一个触发器现存