pg_manage_triggers
Manage PostgreSQL triggers by listing, creating, dropping, or enabling/disabling them. Define trigger operations with parameters like tableName, triggerName, functionName, and events for precise control.
Instructions
Manage PostgreSQL triggers - get, create, drop, and enable/disable triggers. Examples: operation="get" to list triggers, operation="create" with triggerName, tableName, functionName, operation="drop" with triggerName and tableName, operation="set_state" with triggerName, tableName, enable
Input Schema
Name | Required | Description | Default |
---|---|---|---|
cascade | No | Include CASCADE clause (for drop operation) | |
connectionString | No | PostgreSQL connection string (optional) | |
enable | No | Whether to enable the trigger (required for set_state operation) | |
events | No | Trigger events (for create operation, defaults to ["INSERT"]) | |
forEach | No | FOR EACH ROW or STATEMENT (for create operation, defaults to ROW) | |
functionName | No | Function name (required for create operation) | |
ifExists | No | Include IF EXISTS clause (for drop operation) | |
operation | Yes | Operation: get (list triggers), create (new trigger), drop (remove trigger), set_state (enable/disable trigger) | |
replace | No | Whether to replace trigger if exists (for create operation) | |
schema | No | Schema name (defaults to public) | |
tableName | No | Table name (optional filter for get, required for create/drop/set_state) | |
timing | No | Trigger timing (for create operation, defaults to AFTER) | |
triggerName | No | Trigger name (required for create/drop/set_state) | |
when | No | WHEN clause condition (for create operation) |
Input Schema (JSON Schema)
{
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"cascade": {
"description": "Include CASCADE clause (for drop operation)",
"type": "boolean"
},
"connectionString": {
"description": "PostgreSQL connection string (optional)",
"type": "string"
},
"enable": {
"description": "Whether to enable the trigger (required for set_state operation)",
"type": "boolean"
},
"events": {
"description": "Trigger events (for create operation, defaults to [\"INSERT\"])",
"items": {
"enum": [
"INSERT",
"UPDATE",
"DELETE",
"TRUNCATE"
],
"type": "string"
},
"type": "array"
},
"forEach": {
"description": "FOR EACH ROW or STATEMENT (for create operation, defaults to ROW)",
"enum": [
"ROW",
"STATEMENT"
],
"type": "string"
},
"functionName": {
"description": "Function name (required for create operation)",
"type": "string"
},
"ifExists": {
"description": "Include IF EXISTS clause (for drop operation)",
"type": "boolean"
},
"operation": {
"description": "Operation: get (list triggers), create (new trigger), drop (remove trigger), set_state (enable/disable trigger)",
"enum": [
"get",
"create",
"drop",
"set_state"
],
"type": "string"
},
"replace": {
"description": "Whether to replace trigger if exists (for create operation)",
"type": "boolean"
},
"schema": {
"description": "Schema name (defaults to public)",
"type": "string"
},
"tableName": {
"description": "Table name (optional filter for get, required for create/drop/set_state)",
"type": "string"
},
"timing": {
"description": "Trigger timing (for create operation, defaults to AFTER)",
"enum": [
"BEFORE",
"AFTER",
"INSTEAD OF"
],
"type": "string"
},
"triggerName": {
"description": "Trigger name (required for create/drop/set_state)",
"type": "string"
},
"when": {
"description": "WHEN clause condition (for create operation)",
"type": "string"
}
},
"required": [
"operation"
],
"type": "object"
}