DROP TRIGGER
Read PG 18 manual ↗remove a trigger
Syntax
DROP TRIGGER [ IF EXISTS ] name ON table_name [ CASCADE | RESTRICT ]
Syntax diagrams
Read left to right. Branches are choices, bypasses are optional, loops repeat. Select an underlined parameter to open its rule.
Description
DROP TRIGGER removes an existing trigger definition. To execute this command, the current user must be the owner of the table for which the trigger is defined.
Parameters
IF EXISTSDo not throw an error if the trigger does not exist. A notice is issued in this case.
nameThe name of the trigger to remove.
table_nameThe name (optionally schema-qualified) of the table for which the trigger is defined.
CASCADEAutomatically drop objects that depend on the trigger, and in turn all objects that depend on those objects (see Section 5.15).
RESTRICTRefuse to drop the trigger if any objects depend on it. This is the default.
Examples
Destroy the trigger if_dist_exists on the table films:
DROP TRIGGER if_dist_exists ON films;
Compatibility
The DROP TRIGGER statement in PostgreSQL is incompatible with the SQL standard. In the SQL standard, trigger names are not local to tables, so the command is simply DROP TRIGGER .name
See Also
CREATE TRIGGERVersion history 4
- PG 19 → 20changed
- PG 18 → 19changed
- PG 16 → 17changed
- PG 11 → 12changed
Related entries
Definition snapshot: 2026-09-14T13:14:25.700916+00:00@99e6866c · English manual source