-- Audit-Log technisch gegen Aenderung/Loeschung absichern (AUD-02, siehe -- core-kanban/tickets/AUD-02.md). Ein Trigger statt nur GRANT/REVOKE, damit -- der Schutz unabhaengig davon greift, mit welcher Rolle verbunden wird -- (Akzeptanzkriterium 1: "auf Datenbankebene technisch unterbunden"). CREATE FUNCTION audit_events_prevent_mutation() RETURNS TRIGGER AS $$ BEGIN RAISE EXCEPTION 'audit_events ist append-only: % ist nicht erlaubt', TG_OP; END; $$ LANGUAGE plpgsql; CREATE TRIGGER audit_events_no_update BEFORE UPDATE ON audit_events FOR EACH ROW EXECUTE FUNCTION audit_events_prevent_mutation(); CREATE TRIGGER audit_events_no_delete BEFORE DELETE ON audit_events FOR EACH ROW EXECUTE FUNCTION audit_events_prevent_mutation();