PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

2 начина за изброяване на всички тригери в PostgreSQL база данни

Ето две опции за изброяване на тригерите в PostgreSQL база данни.

information_schema.triggers Преглед

Този изглед съдържа всички функции и процедури в текущата база данни, които текущият потребител притежава или има някои привилегии, различни от SELECT На.

Ето пример за връщане на списък със задействания:

SELECT
    trigger_schema,
    trigger_name,
    event_object_table
FROM 
    information_schema.triggers
ORDER BY 
    event_object_table;

Примерен резултат:

+----------------+-----------------------+--------------------+
| trigger_schema |     trigger_name      | event_object_table |
+----------------+-----------------------+--------------------+
| public         | last_updated          | actor              |
| public         | last_updated          | address            |
| public         | last_updated          | category           |
| public         | last_updated          | city               |
| public         | last_updated          | country            |
| public         | last_updated          | customer           |
| public         | film_fulltext_trigger | film               |
| public         | film_fulltext_trigger | film               |
| public         | last_updated          | film               |
| public         | last_updated          | film_actor         |
| public         | last_updated          | film_category      |
| public         | last_updated          | inventory          |
| public         | last_updated          | language           |
| public         | last_updated          | rental             |
| public         | last_updated          | staff              |
| public         | last_updated          | store              |
+----------------+-----------------------+--------------------+

Чувствайте се свободни да включите повече колони, ако е необходимо. Например, можете да включите action_statement колона, за да включите дефиницията на тригера.

pg_trigger Каталог

pg_catalog.pg_trigger каталог съхранява тригери в таблици и изгледи.

Ето пример за код, който връща списък с тригери и тяхната таблица:

SELECT 
    tgname AS trigger_name,
    tgrelid::regclass AS table_name
FROM 
    pg_trigger
ORDER BY 
    table_name,
    trigger_name;

Това може да върне доста задействания, в зависимост от базата данни.

Можем да го ограничим до само тези тригери за дадена таблица, както следва:

SELECT 
    tgname AS trigger_name
FROM 
    pg_trigger
WHERE
    tgrelid = 'public.film'::regclass
ORDER BY
    trigger_name;

Примерен резултат:

+------------------------------+
|         trigger_name         |
+------------------------------+
| RI_ConstraintTrigger_a_24890 |
| RI_ConstraintTrigger_a_24891 |
| RI_ConstraintTrigger_a_24900 |
| RI_ConstraintTrigger_a_24901 |
| RI_ConstraintTrigger_a_24915 |
| RI_ConstraintTrigger_a_24916 |
| RI_ConstraintTrigger_c_24907 |
| RI_ConstraintTrigger_c_24908 |
| RI_ConstraintTrigger_c_24912 |
| RI_ConstraintTrigger_c_24913 |
| film_fulltext_trigger        |
| last_updated                 |
+------------------------------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Хибернация и база данни с множество наематели с помощта на схеми в PostgreSQL

  2. Postgres ръчно променя последователността

  3. Инсталирането на pip е неуспешно с /usr/bin/clang:Няма такъв файл или директория

  4. Как да проверите дали PostgreSQL масивът съдържа стойност

  5. Сравнете масивите за равенство, пренебрегвайки реда на елементите