PostgreSQL DROP TRIGGER Statement
Summary: in this tutorial, you will learn how to use the PostgreSQL DROP TRIGGER
statement to drop a trigger from a table.
Introduction to PostgreSQL DROP TRIGGER statement
To delete a trigger from a table, you use the DROP TRIGGER
statement with the following syntax:
In this syntax:
- First, specify the name of the trigger you want to delete after the
DROP TRIGGER
keywords. - Next, use
IF EXISTS
to conditionally delete the trigger only if it exists. Deleting a non-existing trigger without specifying theIF EXISTS
statement results in an error. If you useIF EXISTS
to delete a non-existing trigger, PostgreSQL issues a notice instead. TheIF EXISTS
is optional. - Then, specify the name of the table to which the trigger belongs. If the table belongs to a specific schema, you can use the schema-qualified name of the table such as
schema_name.table_name
. - After that, use the
CASCADE
option to drop objects that depend on the trigger automatically. Note thatCASCADE
option will also delete objects that depend on objects that depend on the trigger. - Finally, use the
RESTRICT
option to refuse to drop the trigger if any objects depend on it. By default, theDROP TRIGGER
statement usesRESTRICT
.
In SQL standard, trigger names are not local to tables so the DROP TRIGGER
statement does not have the table to which the trigger belongs:
PostgreSQL DROP TRIGGER statement example
First, create a function that validates the username of a staff. The username is not null and its length must be at least 8.
Second, create a new trigger on the staff
table of the sample database to check the username of a staff. This trigger will fire whenever you insert or update a row in the staff
table:
Third, use the DROP TRIGGER
statement to delete the username_check
trigger:
Summary
- Use the PostgreSQL
DROP TRIGGER
statement to delete a trigger from a table.