pg_trigger

PostgreSQL 8.4.1文書
前のページ | 巻戻し | 第 44章システムカタログ | 早送り | 次のページ

# 44.36. `pg_trigger`

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

表 44-36. `pg_trigger`の列

名前 | 型 | 参照先 | 説明
--- | --- | --- | ---
`tgrelid` | `oid` | ``pg_class`.oid` | トリガのかかっているテーブル
`tgname` | `name` |  | トリガ名（同一テーブル内で一意である必要があります）
`tgfoid` | `oid` | ``pg_proc`.oid` | 呼び出される関数
`tgtype` | `int2` |  | トリガ条件を指定するビットマスク
`tgenabled` | `char` |  | Controls in which session_replication_role modes the trigger fires. `O` = "起点"モードと"ローカル"モードでトリガが起動します, `D` = トリガは無効です, `R` = "replica"モードでトリガが起動します, `A` = 常にトリガが起動します.
`tgisconstraint` | `bool` |  | トリガが"定数トリガ"である場合は真
`tgconstrname` | `name` |  | 制約がトリガである場合は制約名
`tgconstrrelid` | `oid` | ``pg_class`.oid` | 参照整合性制約で参照されるテーブル
`tgconstraint` | `oid` | ``pg_constraint`.oid` | 存在する場合は、トリガを所有する`pg_constraint`エントリ
`tgdeferrable` | `bool` |  | トリガがDEFERRED可能（トランザクション終了まで制約のチェックを行わない時は）である場合は真
`tginitdeferred` | `bool` |  | トリガが始めにDEFFERABLEを宣言されていれば真
`tgnargs` | `int2` |  | トリガ関数に渡される引数の数
`tgattr` | `int2vector` |  | 現在使われていません
`tgargs` | `bytea` |  | トリガに渡される引数文字列でNULL文字で終結

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

> `pg_class.reltriggers`は、テーブルがカタログ内にトリガを持っている場合は真とならなければなりません。

前のページ | ホーム | 次のページ
`pg_tablespace` | 上に戻る | `pg_ts_config`