PostgreSQLデータベースのトリガーを一覧表示するための2つのオプションがあります。
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 | +------------------------------+