Как посмотреть существующие триггеры событий (Event Trigger, postgresql)?

Не могу найти в доках postgresql ответ. Как создать/удалить/включить/выключить - нашел, а как просмотреть созданные -нету? Можно вообще их посмотреть?
  • Вопрос задан
  • 2886 просмотров
Решения вопроса 1
Melkij
@Melkij
PostgreSQL DBA
Они прописываются в системной view pg_event_trigger
https://www.postgresql.org/docs/9.6/static/catalog...

В psql есть сокращение \dy выполняющее вот такой запрос:
SELECT evtname as "Name", evtevent as "Event", pg_catalog.pg_get_userbyid(e.evtowner) as "Owner",
 case evtenabled when 'O' then 'enabled'  when 'R' then 'replica'  when 'A' then 'always'  when 'D' then 'disabled' end as "Enabled",
 e.evtfoid::pg_catalog.regproc as "Procedure", pg_catalog.array_to_string(array(select x from pg_catalog.unnest(evttags) as t(x)), ', ') as "Tags"
FROM pg_catalog.pg_event_trigger e ORDER BY 1
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Dinara9595
https://soft-builder.com/how-to-list-triggers-in-p... источник
Для того чтобы посмотреть триггеры на всех таблицах просто скопируйте и наберите вот эту команду:
SELECT  event_object_table AS table_name ,trigger_name         
FROM information_schema.triggers  
GROUP BY table_name, trigger_name 
ORDER BY table_name, trigger_name;
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы