Hier sind zwei Optionen zum Auflisten der Trigger in einer PostgreSQL-Datenbank.
Die information_schema.triggers
Anzeigen
Diese Ansicht enthält alle Funktionen und Prozeduren in der aktuellen Datenbank, die der aktuelle Benutzer besitzt oder über eine andere Berechtigung als SELECT
verfügt An.
Hier ist ein Beispiel für die Rückgabe einer Liste von Triggern:
SELECT
trigger_schema,
trigger_name,
event_object_table
FROM
information_schema.triggers
ORDER BY
event_object_table;
Beispielergebnis:
+----------------+-----------------------+--------------------+ | 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 | +----------------+-----------------------+--------------------+
Sie können bei Bedarf weitere Spalten hinzufügen. Beispielsweise können Sie das action_statement
einfügen Spalte, um die Definition des Triggers aufzunehmen.
Der pg_trigger
Katalog
Der pg_catalog.pg_trigger
Katalog speichert Trigger auf Tabellen und Ansichten.
Hier ist ein Codebeispiel, das eine Liste von Triggern und deren Tabelle zurückgibt:
SELECT
tgname AS trigger_name,
tgrelid::regclass AS table_name
FROM
pg_trigger
ORDER BY
table_name,
trigger_name;
Das kann je nach Datenbank ziemlich viele Trigger zurückgeben.
Wir können es wie folgt auf diese Trigger für eine bestimmte Tabelle eingrenzen:
SELECT
tgname AS trigger_name
FROM
pg_trigger
WHERE
tgrelid = 'public.film'::regclass
ORDER BY
trigger_name;
Beispielergebnis:
+------------------------------+ | 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 | +------------------------------+