PostgreSQL TG_TABLE_NAME (Trigger Context)
PostgreSQL TG_TABLE_NAME (Trigger Context) is a SQL statement in the PostgreSQL Specific category. PostgreSQL trigger functions can access context variables about what caused the trigger to fire. The syntax is TG_TABLE_NAME, TG_OP, TG_WHEN — special variables available in trigger functions.. It returns trigger context variables. A typical example: CREATE OR REPLACE FUNCTION audit_trigger() RETURNS TRIGGER LANGUAGE plpgsql AS $ BEGIN INSERT INTO audit_log (table_name, operation, old_data, new_data, changed_by, changed_at) VALUES ( TG_TABLE_NAME, TG_OP, CASE WHEN TG_OP IN ('UPDATE','DELETE') THEN row_to_json(OLD) ELSE NULL END, CASE WHEN TG_OP IN ('INSERT','UPDATE') THEN row_to_json(NEW) ELSE NULL END, current_user, NOW() ); RETURN NEW; END; $; CREATE TRIGGER trg_employee_audit AFTER INSERT OR UPDATE OR DELETE ON employees FOR EACH ROW EXECUTE FUNCTION audit_trigger(); --… A close relative is SERIAL, which postgreSQL auto-increment type. Creates an INTEGER column with a sequence. Equivalent to AUTO_INCREMENT in MySQL. A close relative is RETURNING, which postgreSQL extension that returns values from INSERT/UPDATE/DELETE statements (like OUTPUT in SQL Server).