★2022年最新★入門!PostgreSQLでトリガーの情報を一覧で取得する方法

先生、PostgreSQLでトリガーを使ってる箇所を一覧で取得する方法ってありませんか。

SQLで簡単に取得することができるよ。サンプルのSQLを紹介します。

トリガーの確認方法

トリガー関連の情報を取得するには以下の3つのテーブルを組み合わせます。

  1. infoschema-triggers
  2. pg_trigger
  3. pg_proc

trigger情報取得SQL

selectt.tgname as Name , t2.event_object_table as Table , t2.event_manipulation as Event , p.proname as Function , t2.event_object_catalog as DB , t2.event_object_schema as Schemafrom pg_trigger t  left join pg_proc pon t.tgfoid = p.oid  left join information_schema.triggers t2on t.tgname = t2.trigger_name ;

このSQLで以下の情報を取得できます。

項目名説明
Name トリガーの名前
Table トリガーが定義されたテーブル
Event トリガー発砲されるイベント(INSERT / UPDATE / DELETE)
Function トリガーで実行される関数
DB トリガーが設定されているDB
Schema トリガーが設定されているスキーマ