44.35. pg_trigger

pg_triggerカタログはテーブル上のトリガを保存します。より詳細はCREATE TRIGGERを参照してください。

表 44-35. pg_triggerの列

名前参照先説明
tgrelidoidpg_class.oidトリガのかかっているテーブル
tgnamename トリガ名(同一テーブル内で一意である必要があります)
tgfoidoidpg_proc.oid呼び出される関数
tgtypeint2 トリガ条件を指定するビットマスク
tgenabledchar  Controls in which session_replication_role modes the trigger fires. O = "起点"モードと"ローカル"モードでトリガが起動します, D = トリガは無効です, R = "replica"モードでトリガが起動します, A = 常にトリガが起動します.
tgisconstraintbool トリガが"定数トリガ"である場合は真
tgconstrnamename 制約がトリガである場合は制約名
tgconstrrelidoidpg_class.oid参照整合性制約で参照されるテーブル
tgconstraintoidpg_constraint.oid存在する場合は、トリガを所有するpg_constraintエントリ
tgdeferrablebool トリガがDEFERRED可能(トランザクション終了まで制約のチェックを行わない時は)である場合は真
tginitdeferredbool トリガが始めにDEFFERABLEを宣言されていれば真
tgnargsint2 トリガ関数に渡される引数の数
tgattrint2vector 現在使われていません
tgargsbytea トリガに渡される引数文字列でNULL文字で終結

注意: tgconstraintがゼロではないとき、tgisconstraintは真でなくてはいけません。さらにtgconstrnametgconstrrelidtgdeferrabletginitdeferredは、参照されているpg_constraintエントリと共に冗長になっています。これらの属性を残した理由は、一致しないpg_constraintエントリの"スタンドアロン"制約トリガをサポートするためです。

pg_class.reltriggersは、与えられているリレーションのために、このテーブル内のトリガの数と一致しなければなりません。