sql >> Databáze >  >> RDS >> PostgreSQL

2 způsoby, jak vypsat všechny spouštěče v databázi PostgreSQL

Zde jsou dvě možnosti, jak vypsat spouštěče v databázi PostgreSQL.

information_schema.triggers Zobrazit

Toto zobrazení obsahuje všechny funkce a procedury v aktuální databázi, které aktuální uživatel vlastní nebo má jiná oprávnění než SELECT na.

Zde je příklad vrácení seznamu spouštěčů:

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

Příklad výsledku:

+----------------+-----------------------+--------------------+
| 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              |
+----------------+-----------------------+--------------------+

Podle potřeby můžete přidat více sloupců. Můžete například zahrnout action_statement zahrnout definici spouštěče.

pg_trigger Katalog

pg_catalog.pg_trigger katalog ukládá spouštěče v tabulkách a pohledech.

Zde je příklad kódu, který vrací seznam spouštěčů a jejich tabulku:

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

To může vrátit poměrně hodně spouštěčů v závislosti na databázi.

Můžeme to zúžit pouze na ty spouštěče pro danou tabulku takto:

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

Příklad výsledku:

+------------------------------+
|         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. SQL Server Změna názvu databáze

  2. Spotlight Cloud Alarms Collection Times

  3. Jak přejmenovat tabulku v SQL

  4. Odstranění úvodních nul z vývojáře varchar sql