pg_trigger #
pg_triggerカタログはテーブルおよびビュー上のトリガを保存します。
CREATE TRIGGERを参照してください。
表53.58 pg_triggerの列
列 型 説明 |
|---|
行識別子 |
トリガのかかっているテーブル |
このトリガが複製された親のトリガ(パーティションが作成されたか、あるいはパーティションテーブルにアタッチされたときに起こります)。 複製されていなければゼロ |
トリガ名(同一テーブル内で一意である必要があります) |
呼び出される関数 |
トリガ発行条件を指定するビットマスク |
どのsession_replication_roleモードでトリガが発行されるかを制御します。
|
トリガが(通常 |
参照整合性制約で参照されるテーブル。 (トリガが参照整合性制約用でなければゼロ) |
一意性、主キー、参照整合性制約や排他制約をサポートするインデックス (トリガがこれらの制約型用でなければゼロ) |
トリガに関連する |
制約トリガが遅延可能である場合はtrue |
制約トリガの初期状態が遅延可能と宣言されている場合はtrue |
トリガ関数に渡される引数の数 |
トリガが列固有であれば列番号。そうでなければ空の配列 |
トリガに渡される引数文字列で、それぞれヌル文字で終結 |
トリガの |
|
|
現在、列固有のトリガ処理はUPDATEイベントのみでサポートされていますので、tgattrはこの種類のイベントにのみ関連します。
tgtypeにはこの他のイベント用のビットが含まれているかもしれませんが、これらはtgattrの値とは関係ないテーブル全体のものであると仮定されます。
tgconstraintがゼロではないとき、tgconstrrelid、tgconstrindid、tgdeferrable、tginitdeferredは参照されるpg_constraint項目と共に冗長となっています。
しかし遅延不可能なトリガを遅延可能な制約に関連付けさせることが可能です。
外部キー制約では一部を遅延可能、一部を遅延不可能なトリガを持つことができます。
pg_class.relhastriggersは、リレーションがこのカタログ内にトリガを持っている場合はtrueでなければなりません。