他のバージョンの文書 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

53.58. pg_trigger

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

表53.58 pg_triggerの列

列 型

説明

oid oid

行識別子

tgrelid oid (参照先 pg_class.oid

トリガのかかっているテーブル

tgparentid oid (参照先 pg_trigger.oid

このトリガが複製された親のトリガです(パーティションが作成されたか、あるいはパーティションテーブルにアタッチされたときに起こります)。 複製されていなければゼロです。

tgname name

トリガ名(同一テーブル内で一意である必要があります)

tgfoid oid (参照先 pg_proc.oid

呼び出される関数

tgtype int2

トリガ発行条件を指定するビットマスク

tgenabled char

どのsession_replication_roleモードでトリガが発行されるかを制御します。 O = 起点モードとローカルモードでトリガを発行します、 D = トリガは無効です、 R = replicaモードでトリガを発行します、 A = 常にトリガを発行します。

tgisinternal bool

トリガが(通常tgconstraintにより識別される制約を強制するために)内部的に生成される場合は真。

tgconstrrelid oid (参照先 pg_class.oid

参照整合性制約で参照されるテーブル。 (トリガが参照整合性制約用でなければゼロ)

tgconstrindid oid (参照先 pg_class.oid

一意性、主キー、参照整合性制約や排他制約をサポートするインデックス (トリガがこれらの制約型用でなければゼロ)

tgconstraint oid (参照先 pg_constraint.oid

トリガに関連するpg_constraintの項目。 (トリガが制約用でなければゼロ)

tgdeferrable bool

制約トリガが遅延可能である場合は真

tginitdeferred bool

制約トリガの初期状態が遅延可能と宣言されていれば真

tgnargs int2

トリガ関数に渡される引数の数

tgattr int2vector (参照先 pg_attribute.attnum

トリガが列固有であれば列番号。さもなくば空の配列

tgargs bytea

トリガに渡される引数文字列で、それぞれヌル文字で終結

tgqual pg_node_tree

トリガのWHEN条件に関する(nodeToString()表現による)式ツリー。 存在しなければNULL

tgoldtable name

OLD TABLEに対するREFERENCING句の名前、なければNULL

tgnewtable name

NEW TABLEに対するREFERENCING句の名前、なければNULL


現在、列固有のトリガ処理はUPDATEイベントのみでサポートされていますので、tgattrはこの種類のイベントにのみ関連します。 tgtypeにはこの他のイベント用のビットが含まれているかもしれませんが、これらはtgattrの値とは関係ないテーブル全体のものであると仮定されます。

注記

tgconstraintがゼロではないとき、tgconstrrelidtgconstrindidtgdeferrabletginitdeferredは参照されるpg_constraint項目と共に冗長となっています。 しかし遅延不可能なトリガを遅延可能な制約に関連付けさせることが可能です。 外部キー制約では一部を遅延可能、一部を遅延不可能なトリガを持つことができます。

注記

pg_class.relhastriggersは、リレーションがこのカタログ内にトリガを持っている場合は真とならなければなりません。