--- title: "DROP TRIGGER" id: sql-droptrigger pg_version: "20devel" --- # DROP TRIGGER — remove a trigger ## Synopsis ``` DROP TRIGGER [ IF EXISTS ] name ON table_name [ CASCADE | RESTRICT ] ``` ## 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 EXISTS`** Do not throw an error if the trigger does not exist. A notice is issued in this case. **`name`** The name of the trigger to remove. **`table_name`** The name (optionally schema-qualified) of the table for which the trigger is defined. **`CASCADE`** Automatically drop objects that depend on the trigger, and in turn all objects that depend on those objects (see [Section 5.17](ddl-depend.md)). **`RESTRICT`** Refuse 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 TRIGGER](sql-createtrigger.md)