postgres naming trigger

Taken From https://severalnines.com/database-blog/postgresql-triggers-and-stored-function-basics

Pattern [TBALE_NAME]_[FUNCITON NAME]_[WHEN][1 or more WHY][t]

When:

  • b - Before

  • a - After

  • i - Instead of

WHY:

  • i - Insert

  • u - Update

  • d - Delete

  • t - Truncate

t = 'trigger'

eg: my_table_update_ts_biut means it's a trigger on my_table, triggers update_ts before insert & update

Reasoning: Just by looking at the trigger name, you know which table, and when it is triggered

example

-- function to update updated_at column during insert or update
CREATE OR REPLACE FUNCTION update_timestamp()
RETURNS trigger AS
$$
BEGIN
NEW.updated_at := NOW();
RETURN NEW;
END;
$$ LANGUAGE 'plpgsql';
CREATE TRIGGER users_update_timestamp_biut
BEFORE INSERT OR UPDATE
ON users
FOR EACH ROW
EXECUTE PROCEDURE update_timestamp();