Skip to content

Trigger

Defines a trigger on a table or view

Properties

Property Type Required Description
name string — The index name.
sql string — User-provided raw SQL snippet.
when BEFORE | AFTER | INSTEAD OF — When to fire the trigger.
events array of (INSERT | UPDATE | DELETE | TRUNCATE) — The events that cause the fire to trigger.
update_columns array of string — The columns of UPDATE OF: the UPDATE event fires only when one of these columns is a target of the UPDATE command. Needs UPDATE in events. Minimum items: 1.
for_each ROW | STATEMENT — For Each Row or Statement. Default: "STATEMENT".
constraint boolean — Create the trigger as a CONSTRAINT TRIGGER (always AFTER and FOR EACH ROW); it may be deferred to the end of the transaction.
deferrable boolean — Whether a constraint trigger's firing can be deferred.
initially_deferred boolean — Whether a deferrable constraint trigger defers by default.
condition string — A Boolean expression that determines whether the trigger function will actually be executed. If WHEN is specified, the function will only be called if the condition returns true.
function string — The trigger function to execute.
arguments array of (boolean | integer | number | string) — An optional comma-separated list of arguments to be provided to the function when the trigger is executed.
comment string — An optional comment about the table.
dependencies dependencies — Database objects this object is dependent upon.

Mutually exclusive forms

Exactly one of these must hold:

  • sql
  • name and when and events and function, without sql

No other properties are accepted.


Source: schemata/trigger.yml · Resolved JSON Schema: trigger.json