September 26, 2024: PostgreSQL 17 Released!
Supported Versions: Current (17) / 16 / 15 / 14 / 13 / 12
Development Versions: devel
Unsupported versions: 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1
This documentation is for an unsupported version of PostgreSQL.
You may want to view the same page for the current version, or one of the other supported versions listed above instead.

DROP TRIGGER

Name

DROP TRIGGER  --  remove a trigger

Synopsis

DROP TRIGGER name ON table [ CASCADE | RESTRICT ]
  

Inputs

name

The name of an existing trigger.

table

The name (optionally schema-qualified) of a table.

CASCADE

Automatically drop objects that depend on the trigger.

RESTRICT

Refuse to drop the trigger if there are any dependent objects. This is the default.

Outputs

DROP TRIGGER

The message returned if the trigger is successfully dropped.

ERROR: DropTrigger: there is no trigger name on relation "table"

This message occurs if the trigger specified does not exist.

Description

DROP TRIGGER will remove an existing trigger definition. To execute this command the current user must be the owner of the table for which the trigger is defined.

Examples

Destroy the if_dist_exists trigger on table films:

DROP TRIGGER if_dist_exists ON films;

Compatibility

SQL92

There is no DROP TRIGGER statement in SQL92.

SQL99

The DROP TRIGGER statement in PostgreSQL is incompatible with SQL99. In SQL99, trigger names are not local to tables, so the command is simply DROP TRIGGER name.

See Also

CREATE TRIGGER