ALTER TRIGGER в PostgreSQL: изменение триггера

В PostgreSQL команда ALTER TRIGGER используется для изменения имени триггера. Другие параметры триггера напрямую изменить нельзя — в таких случаях создаётся новый триггер с нужными настройками, а старый удаляется.

Синтаксис

ALTER TRIGGER старое_имя ON имя_таблицы
RENAME TO новое_имя;
  • старое_имя — текущее имя триггера.
  • имя_таблицы — таблица, к которой привязан триггер.
  • новое_имя — новое имя триггера.

Переименование триггера

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

ALTER TRIGGER user_update_trigger ON users
RENAME TO updated_user_trigger;

Изменение других параметров триггера

Изменить события, порядок или функцию триггера командой ALTER TRIGGER нельзя. Для этого:

  1. Удаляется старый триггер с помощью DROP TRIGGER: DROP TRIGGER IF EXISTS updated_user_trigger ON users;
  2. Создаётся новый триггер с нужными параметрами: CREATE TRIGGER updated_user_trigger AFTER UPDATE ON users FOR EACH ROW EXECUTE FUNCTION log_user_changes();