В 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
нельзя. Для этого:
- Удаляется старый триггер с помощью
DROP TRIGGER
:DROP TRIGGER IF EXISTS updated_user_trigger ON users;
- Создаётся новый триггер с нужными параметрами:
CREATE TRIGGER updated_user_trigger AFTER UPDATE ON users FOR EACH ROW EXECUTE FUNCTION log_user_changes();