Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- DO $$
- BEGIN
- LOOP
- BEGIN
- -- Проверка на наличие работы autovacuum на таблице и его прерывание
- PERFORM pg_terminate_backend(procpid)
- FROM pg_stat_activity
- WHERE query_name LIKE 'autovacuum%{schema}.Событие%';
- -- Пробуем получить эксклюзивный доступ
- LOCK TABLE {schema}."Событие" IN ACCESS EXCLUSIVE MODE NOWAIT;
- -- Удаляем триггер
- DROP TRIGGER {schema}."0100_КонтрагентКонтактСобытие_a";
- -- Создаем условный триггер
- CREATE TRIGGER "0100_КонтрагентКонтактСобытие_a"
- AFTER INSERT OR UPDATE
- ON {schema}."Событие"
- FOR EACH ROW
- WHEN (NEW."Тип" = 3)
- EXECUTE PROCEDURE {schema}."КонтрагентКонтактСобытие"();
- COMMENT ON TRIGGER "0100_КонтрагентКонтактСобытие_a" ON {schema}."Событие" IS 'sbis3_object';
- EXCEPTION WHEN LOCK_NOT_AVAILABLE THEN
- CONTINUE;
- END;
- EXIT;
- END LOOP;
- END; $$;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement