选择 打开 改范围 完整检索页

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

文档 / SQL 命令 / 触发器与规则

SQL COMMAND · 触发器与规则

ALTER TRIGGER

更改触发器的定义

ALTER触发器与规则引入 10(基线)现存至 20 devel1 次语法变更

动词
ALTER
对象
TRIGGER
引入版本
10(基线)
状态
现存
语法变更次数
1
手册小节数
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 TRIGGERPostgreSQL 对 SQL 标准的扩展。

另见

语法演化

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

  1. PostgreSQL 14← 13正文更新

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

    + ALTER TRIGGER name ON table_name [ NO ] DEPENDS ON EXTENSION extension_name− ALTER TRIGGER name ON table_name DEPENDS ON EXTENSION extension_name正文更新
  3. PostgreSQL 11← 10正文更新

    正文更新

同组命令

命令动词对象版本变动最近变更
TRIGGERS & RULES触发器与规则9 条
CREATE EVENT TRIGGERCREATEEVENT TRIGGER 111 次
定义一个新的事件触发器现存
ALTER EVENT TRIGGERALTEREVENT TRIGGER 141 次
更改事件触发器的定义现存
DROP EVENT TRIGGERDROPEVENT TRIGGER
移除一个事件触发器现存
CREATE RULECREATERULE
定义一条新的重写规则现存
ALTER RULEALTERRULE
修改一条重写规则的定义现存
DROP RULEDROPRULE
移除一条重写规则现存
CREATE TRIGGERCREATETRIGGER 193 次
定义一个新触发器现存
ALTER TRIGGERALTERTRIGGER 131 次
更改触发器的定义现存
DROP TRIGGERDROPTRIGGER
移除一个触发器现存