Documentazione di PostgreSQL 9.0 > Client Interfaces > The Information Schema > triggers
Precedentetriggered_update_columnsusage_privilegesSuccessivo

34.47. triggers

The view triggers contains all triggers defined in the current database on tables that the current user owns or has some non-SELECT privilege on.

Tabella 34.45. triggers Columns

NameData TypeDescription
trigger_catalogsql_identifierName of the database that contains the trigger (always the current database)
trigger_schemasql_identifierName of the schema that contains the trigger
trigger_namesql_identifierName of the trigger
event_manipulationcharacter_data Event that fires the trigger (INSERT, UPDATE, or DELETE)
event_object_catalogsql_identifier Name of the database that contains the table that the trigger is defined on (always the current database)
event_object_schemasql_identifierName of the schema that contains the table that the trigger is defined on
event_object_tablesql_identifierName of the table that the trigger is defined on
action_ordercardinal_numberNot yet implemented
action_conditioncharacter_data WHEN condition of the trigger, null if none (also null if the table is not owned by a currently enabled role)
action_statementcharacter_data Statement that is executed by the trigger (currently always EXECUTE PROCEDURE function(...))
action_orientationcharacter_data Identifies whether the trigger fires once for each processed row or once for each statement (ROW or STATEMENT)
condition_timingcharacter_data Time at which the trigger fires (BEFORE or AFTER)
condition_reference_old_tablesql_identifierApplies to a feature not available in PostgreSQL
condition_reference_new_tablesql_identifierApplies to a feature not available in PostgreSQL
condition_reference_old_rowsql_identifierApplies to a feature not available in PostgreSQL
condition_reference_new_rowsql_identifierApplies to a feature not available in PostgreSQL
createdtime_stampApplies to a feature not available in PostgreSQL

Triggers in PostgreSQL™ have two incompatibilities with the SQL standard that affect the representation in the information schema. First, trigger names are local to the table in PostgreSQL™, rather than being independent schema objects. Therefore there can be duplicate trigger names defined in one schema, as long as they belong to different tables. (trigger_catalog and trigger_schema are really the values pertaining to the table that the trigger is defined on.) Second, triggers can be defined to fire on multiple events in PostgreSQL™ (e.g., ON INSERT OR UPDATE), whereas the SQL standard only allows one. If a trigger is defined to fire on multiple events, it is represented as multiple rows in the information schema, one for each type of event. As a consequence of these two issues, the primary key of the view triggers is really (trigger_catalog, trigger_schema, trigger_name, event_object_table, event_manipulation) instead of (trigger_catalog, trigger_schema, trigger_name), which is what the SQL standard specifies. Nonetheless, if you define your triggers in a manner that conforms with the SQL standard (trigger names unique in the schema and only one event type per trigger), this will not affect you.

Documentazione di PostgreSQL 9.0 > Client Interfaces > The Information Schema > triggers
Precedentetriggered_update_columnsusage_privilegesSuccessivo