A database trigger is associated with a specific table, view, or foreign table.
In a database, triggers execute a specified function when certain operations are performed on the table (INSERT, UPDATE, DELETE, TRUNCATE). SELECT statements do not modify rows so no trigger can be set on a SELECT statement.
In a database, triggers can run before, after, or instead of the operation that fired them attempts to alter the row(s).
In PostgreSQL, a trigger set FOR EACH ROW is called once for every row modified. FOR EACH STATEMENT executes once for the entire operation (0 modified rows would still trigger this).
A database trigger can specify a boolean WHEN condition to set when it should be fired.
Multiple database triggers of the same kind can exist on the same table. If so, they are triggered in alphabetical order.
To remove a trigger from a table/view you can use the DROP TRIGGER command.
One SQL command can trigger more than one kind of trigger. For example, an insert can fire a trigger that updates a record creating a conflict that triggers an update on conflict trigger.