Advanced Reporting
Triggers: The Automatic Reaction
Senior Data Analyst
March 26, 2026
6 min read
The Use Case
Every time an order is placed, automatically insert a record into the `audit_log` table.
The Trigger
CREATE FUNCTION log_order_insert() RETURNS TRIGGER AS $$
BEGIN
INSERT INTO audit_log (table_name, action, timestamp)
VALUES ('orders', 'INSERT', NOW());
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
CREATE TRIGGER order_audit
AFTER INSERT ON orders
FOR EACH ROW EXECUTE FUNCTION log_order_insert();
Pro Tip
Triggers are powerful but hidden. Over-reliance on them can make debugging very difficult.
*Day 86: Transactions and ACID.*