?
このドキュメントでは、 php中國語ネットマニュアル リリース
pg_trigger存儲在表上的觸發(fā)器。參閱CREATE TRIGGER獲取更多信息。
Table 45-38. pg_trigger Columns
名稱 | 類型 | 引用 | 描述 |
---|---|---|---|
tgrelid | oid | pg_class.oid | 這個觸發(fā)器所在的表 |
tgname | name | ? | 觸發(fā)器名稱(在同一表的所有觸發(fā)器中必須唯一) |
tgfoid | oid | pg_proc.oid | 要調(diào)用的函數(shù) |
tgtype | int2 | ? | 標(biāo)識觸發(fā)器條件的位掩碼 |
tgenabled | char | ? | 控制session_replication_role模式的 觸發(fā)器。 O =觸發(fā)器作用于"origin"和"local"模式, D = 觸發(fā)器不能用, R = 觸發(fā)器作用于"復(fù)制"模式, A = 觸發(fā)器總是作用. |
tgisinternal | bool | ? | 如果觸發(fā)器內(nèi)部產(chǎn)生(通常情況下,執(zhí)行 通過tgconstraint確定的約束),則為真。 |
tgconstrrelid | oid | pg_class.oid | 一個參照完整性約束引用的表 |
tgconstrindid | oid | pg_class.oid | 索引支持一個唯一的,主鍵,或參照完整性約束 |
tgconstraint | oid | pg_constraint.oid | 如果存在的話,pg_constraint記錄關(guān)聯(lián)的觸發(fā)器 |
tgdeferrable | bool | ? | 如果約束觸發(fā)器可推遲,則為真 |
tginitdeferred | bool | ? | 如果約束觸發(fā)器是初始可推遲,則為真 |
tgnargs | int2 | ? | 傳給觸發(fā)器函數(shù)的字符串參數(shù)數(shù) |
tgattr | int2vector | pg_attribute.attnum | 列數(shù),如果觸發(fā)器是特定列;否則空數(shù)組 |
tgargs | bytea | ? | 傳給觸發(fā)器的字符串參數(shù),每個都是用NULL結(jié)尾 |
tgqual | text | ? | 表達(dá)式樹(在nodeToString()
中表示)為觸發(fā)的WHEN情況,如果沒有,則為NULL。
|
目前,列特定的觸發(fā)器僅支持 UPDATE事件,所以tgattr有關(guān) 該事件的類型。tgtype可能 包含其他類型的事件所需的位,但假定那些為 全表范圍內(nèi),不管在tgattr。
Note: 當(dāng)tgconstraint為非零值, tgconstrrelid,tgconstrindid, tgdeferrable和tginitdeferred 很大程度上是多余的引用pg_constraint項。 然而,它可能是與延遲的約束相關(guān)的非延期觸發(fā):外鍵約束可以有一些 延期和一些非延期的觸發(fā)器。
Note: 如果一個表在此目錄中有觸發(fā)器,pg_class.relhastriggers必須為真。