Stream triggers manipulation interfaces#
ストリームトリガーは、 REPLICA IDENTITY FULL
があるテーブル、またはTOAST
が適用される列のないテーブルにのみ作成できます。
bdr.create_conflict_trigger#
このファンクションは、新しい競合トリガーを作成します。
概要#
bdr.create_conflict_trigger(trigger_name text,
events text[],
relation regclass,
function regprocedure,
args text[] DEFAULT {})
パラメーター#
trigger_name—新しいトリガーの名前。events—このトリガーを起動するイベントの配列。有効な値は’INSERT‘、’UPDATE‘、および’DELETE’です。relation—このトリガーを発射する関係。function—実行するファンクション。args—オプショナル。トリガーファンクションが実行時に受け取るパラメーターの配列TG_ARGV変数の内容を指定します。
注#
このファンクションは、 DDL
ステートメントと同じレプリケーションメカニズムを使用します。これは、レプリケーションが ddl filters 構成の影響を受けることを意味します。
ファンクションは、トリガーが作成されているリレーションでグローバルDMLロックを取得します。
このファンクションはトランザクションです。トランザクションのROLLBACK
を使用してエフェクトをロールバックできます。変更は現在のトランザクションに表示されます。
通常のPostgreSQLトリガーと同様に、bdr.create_conflict_trigger
ファンクションには、relation のTRIGGER
特権とファンクションのEXECUTE
特権が必要です。これは、bdr.backwards_compatibility
が30619以上の場合に適用されます。
PGDでは、追加のセキュリティルールが競合トリガーを含むすべてのトリガーに適用されます。
Security and roles を参照してください。
bdr.create_transform_trigger#
このファンクションは、変換トリガーを作成します。
概要#
bdr.create_transform_trigger(trigger_name text,
events text[],
relation regclass,
function regprocedure,
args text[] DEFAULT {})
パラメーター#
trigger_name—新しいトリガーの名前。events—このトリガーを起動するイベントの配列。有効な値は’INSERT‘、’UPDATE‘、および’DELETE’です。relation—このトリガーを発射する関係。function—実行するファンクション。args—オプショナル。トリガーファンクションが実行時に受け取るパラメーターの配列TG_ARGV変数の内容を指定します。
注#
このファンクションは、 DDL
ステートメントと同じレプリケーションメカニズムを使用します。これは、レプリケーションが ddl filters 構成の影響を受けることを意味します。
ファンクションは、トリガーが作成されているリレーションでグローバルDMLロックを取得します。
このファンクションはトランザクションです。トランザクションのROLLBACK
を使用してエフェクトをロールバックできます。変更は現在のトランザクションに表示されます。
通常のPostgreSQLトリガーと同様に、bdr.create_transform_trigger
ファンクションには、relation のTRIGGER
特権とファンクションのEXECUTE 特権が必要です。
PGDでは、追加のセキュリティルールが変換トリガーを含むすべてのトリガーに適用されます。
Security and roles を参照してください。
bdr.drop_trigger#
このファンクションは、既存のストリームトリガー競合と変換の両方を削除します。
概要#
bdr.drop_trigger(trigger_name text,
relation regclass,
ifexists boolean DEFAULT false)
パラメーター#
trigger_name—既存のトリガーの名前。relation—トリガーが定義されている関係。ifexists—trueに設定されている場合、このファンクションは不足しているトリガーを無視します。
注#
このファンクションは、 DDL
ステートメントと同じレプリケーションメカニズムを使用します。これは、レプリケーションが ddl filters 構成の影響を受けることを意味します。
ファンクションは、トリガーが作成されているリレーションでグローバルDMLロックを取得します。
このファンクションはトランザクションです。トランザクションのROLLBACK
を使用してエフェクトをロールバックできます。変更は現在のトランザクションに表示されます。
relation の所有者のみがbdr.drop_trigger
ファンクションを実行できます。