Hier zijn twee opties om de triggers in een PostgreSQL-database op te sommen.
De information_schema.triggers
Bekijk
Deze weergave bevat alle functies en procedures in de huidige database die de huidige gebruiker bezit of een ander privilege heeft dan SELECT
Aan.
Hier is een voorbeeld van het retourneren van een lijst met triggers:
SELECT
trigger_schema,
trigger_name,
event_object_table
FROM
information_schema.triggers
ORDER BY
event_object_table;
Voorbeeld resultaat:
+----------------+-----------------------+--------------------+ | 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 | +----------------+-----------------------+--------------------+
Voel je vrij om meer kolommen op te nemen als dat nodig is. U kunt bijvoorbeeld de action_statement
kolom om de definitie van de trigger op te nemen.
De pg_trigger
Catalogus
De pg_catalog.pg_trigger
catalogus slaat triggers op tabellen en weergaven op.
Hier is een voorbeeld van code die een lijst met triggers en hun tabel retourneert:
SELECT
tgname AS trigger_name,
tgrelid::regclass AS table_name
FROM
pg_trigger
ORDER BY
table_name,
trigger_name;
Dat kan nogal wat triggers opleveren, afhankelijk van de database.
We kunnen het beperken tot alleen die triggers voor een bepaalde tabel als volgt:
SELECT
tgname AS trigger_name
FROM
pg_trigger
WHERE
tgrelid = 'public.film'::regclass
ORDER BY
trigger_name;
Voorbeeld resultaat:
+------------------------------+ | 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 | +------------------------------+