The trigger module defines two classes, Trigger and TriggerDict, derived from DbSchemaObject and DbObjectDict, respectively.


Trigger is derived from DbSchemaObject and represents a PostgreSQL regular trigger or constraint trigger.

class pyrseas.dbobject.trigger.Trigger(schema, name, description=None, owner=None, privileges=None, **attrs)

A procedural language trigger


Returns a full identifier for the trigger


Convert a trigger to a YAML-suitable format

Trigger.create(obj, *args, **kwargs)

Return SQL statements to CREATE the trigger

Returns:SQL statements

Trigger Dictionary

TriggerDict is derived from DbObjectDict. It is a dictionary that represents the collection of triggers in a database.

class pyrseas.dbobject.trigger.TriggerDict(dbconn=None)

The collection of triggers in a database

TriggerDict.from_map(table, intriggers)

Initalize the dictionary of triggers by converting the input map

  • table – table owning the triggers
  • intriggers – YAML map defining the triggers

Generate SQL to transform existing triggers

Parameters:intriggers – a YAML map defining the new triggers
Returns:list of SQL statements

Compares the existing trigger definitions, as fetched from the catalogs, to the input map and generates SQL statements to transform the triggers accordingly.