DROP TRIGGER в PostgreSQL: удаление триггера

В PostgreSQL команда DROP TRIGGER используется для удаления триггера из базы данных. После удаления триггер больше не будет выполняться при изменении данных в таблице.

Синтаксис

DROP TRIGGER [IF EXISTS] имя_триггера ON имя_таблицы [CASCADE | RESTRICT];
  • IF EXISTS — предотвращает ошибку, если триггер отсутствует.
  • CASCADE — удаляет триггер вместе со связанными объектами.
  • RESTRICT — запрещает удаление, если триггер связан с другими объектами (по умолчанию).

Удаление существующего триггера

Пример удаления триггера user_update_trigger из таблицы users:

DROP TRIGGER user_update_trigger ON users;

Удаление триггера, если он существует

Если неизвестно, существует ли триггер, можно использовать IF EXISTS:

DROP TRIGGER IF EXISTS user_update_trigger ON users;

Удаление триггера с зависимостями

Если триггер связан с другими объектами, а его удаление необходимо вместе с ними, применяется CASCADE:

DROP TRIGGER user_update_trigger ON users CASCADE;

Запрет удаления при наличии зависимостей

Если триггер связан с другими объектами, но не должен быть удалён вместе с ними, используется RESTRICT:

DROP TRIGGER user_update_trigger ON users RESTRICT;

Если триггер имеет зависимости, PostgreSQL выдаст ошибку и не выполнит удаление.