ALTER TRIGGERステートメントを実行して、トリガー名、依存関係、トリガースイッチなどのトリガー定義を変更できます。
構文
table_nameテーブルのトリガー名を変更します。ALTER TRIGGER name ON table_name新しい_nametable_nameテーブルのnameトリガーが依存するプラグインをextension_nameに変更します。ALTER TRIGGER name ON table_name DEPENDS ON EXTENSION extension_nameスキーマ内で一意のnameトリガーのステータスを変更します。ALTER TRIGGER [schema.] 名ENABLE | DISABLE;説明- トリガー名は、同じスキーマ内で一意である必要があります。
- 組み込みトリガーのステータスは変更できません。
パラメーター
| パラメーター | 説明 |
| schema | トリガーが依存するテーブルが存在する名前空間。 デフォルト値 : public |
| name | トリガーが依存するテーブルの名前。 |
| new_name | トリガーの新しい名前。 |
| extenion_name | トリガーが依存するプラグインの名前。 |
| ENABLE/DIABLE | トリガーが有効かどうかを指定します。 有効な値:
|
例
- トリガーの名前を変更します。
ALTER TRIGGER emp_stamp ON emp RENAME TO emp_track_chgs; - トリガーが依存するプラグインを変更します。
ALTER TRIGGER emp_stamp ON emplib; - トリガーを有効または無効にします。
testdb=> pg_triggerからtgrelid、tgname、tgenabledを選択します。 tgrelid | tgname | tgenabled -------- ----------- ------------------- 16386 | emp_audit | O (1行) testdb=> emp値 (1、'Alice') に挿入します。エラー: INSERTはempでは違法です。 コンテキスト: RAISEのPL/pgSQL関数process_emp_audit() 12行目 testdb=> ALTER TRIGGER emp_audit DISABLE; ALTER TRIGGER testdb=> emp値 (1、'Alice') に挿入します。挿入0 1 testdb=> ALTER TRIGGER emp_audit ENABLE; ALTER TRIGGER testdb=> emp値 (2、'Bob') に挿入します。エラー: INSERTはempでは違法です。 コンテキスト: PL/pgSQL関数process_emp_audit() 行12でRAISE