Постгрес триггер создания - PullRequest
       18

Постгрес триггер создания

9 голосов
/ 09 декабря 2010

Как создать триггер, только если он не существует?

Когда я создаю или заменяю, я получаю синтаксическую ошибку, поэтому ищу способ проверить наличие триггера.

Я всегда могу выбрать * из pg_trigger, но я уверен, что есть более подходящий способ.

Спасибо

Ответы [ 2 ]

17 голосов
/ 09 декабря 2010

Postgres может условно сбросить триггер - см. Документы .Сделайте это до создания триггера, тогда он всегда будет работать.

DROP TRIGGER IF EXISTS mytrigger ON mytable;

Как отметил Джек в комментариях, эта функция была доступна только с 8.2;хотя он существует уже более четырех лет, поэтому он должен быть доступен в вашей версии.

0 голосов
/ 21 августа 2017
CREATE TRIGGER (NameOfTrigger) AFTER INSERT OR UPDATE ON (NameOfTable)   

DROP TRIGGER IF EXISTS (NameOfTrigger) ON (NameOfTable);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...