Här är två alternativ för att lista ut utlösare i en PostgreSQL-databas.
information_schema.triggers
Visa
Denna vy innehåller alla funktioner och procedurer i den aktuella databasen som den aktuella användaren äger eller har någon annan behörighet än SELECT
på.
Här är ett exempel på att returnera en lista med utlösare:
SELECT
trigger_schema,
trigger_name,
event_object_table
FROM
information_schema.triggers
ORDER BY
event_object_table;
Exempelresultat:
+----------------+-----------------------+--------------------+ | 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 | +----------------+-----------------------+--------------------+
Inkludera gärna fler kolumner vid behov. Du kan till exempel inkludera action_statement
kolumn för att inkludera utlösarens definition.
pg_trigger
Katalog
pg_catalog.pg_trigger
katalogen lagrar triggers i tabeller och vyer.
Här är ett exempel på kod som returnerar en lista med utlösare och deras tabell:
SELECT
tgname AS trigger_name,
tgrelid::regclass AS table_name
FROM
pg_trigger
ORDER BY
table_name,
trigger_name;
Det kan returnera ganska många triggers, beroende på databasen.
Vi kan begränsa det till endast de utlösare för en given tabell så här:
SELECT
tgname AS trigger_name
FROM
pg_trigger
WHERE
tgrelid = 'public.film'::regclass
ORDER BY
trigger_name;
Exempelresultat:
+------------------------------+ | 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 | +------------------------------+