--- title: "Event Triggers" id: event-triggers pg_version: "20devel" --- # Event Triggers ## Table of Contents - [38.1. Overview of Event Trigger Behavior](event-trigger-definition.md) - [38.1.1. login](event-trigger-definition.md#event-trigger-login) - [38.1.2. ddl_command_start](event-trigger-definition.md#event-trigger-ddl_command_start) - [38.1.3. ddl_command_end](event-trigger-definition.md#event-trigger-ddl_command_end) - [38.1.4. sql_drop](event-trigger-definition.md#event-trigger-sql_drop) - [38.1.5. table_rewrite](event-trigger-definition.md#event-trigger-table_rewrite) - [38.1.6. Event Triggers in Aborted Transactions](event-trigger-definition.md#event-trigger-aborted-transactions) - [38.1.7. Creating Event Triggers](event-trigger-definition.md#event-trigger-creating) - [38.2. Writing Event Trigger Functions in C](event-trigger-interface.md) - [38.3. A Complete Event Trigger Example](event-trigger-example.md) - [38.4. A Table Rewrite Event Trigger Example](event-trigger-table-rewrite-example.md) - [38.5. A Database Login Event Trigger Example](event-trigger-database-login-example.md) To supplement the trigger mechanism discussed in [ChapterĀ 37](triggers.md), PostgreSQL also provides event triggers. Unlike regular triggers, which are attached to a single table and capture only DML events, event triggers are global to a particular database and are capable of capturing DDL events. Like regular triggers, event triggers can be written in any procedural language that includes event trigger support, or in C, but not in plain SQL.