Desenvolvimento de Funções e Views Idempotentes

O diretório db/routines/ é a fonte única da verdade (SSOT) da lógica procedural de banco:

1. Idempotência Canônica

  • Funções: Utilizam CREATE OR REPLACE FUNCTION com corpo em PL/pgSQL ou SQL puro.

  • Segurança de Search Path: Funções declaradas como SECURITY DEFINER devem obrigatoriamente especificar SET search_path = extensions, public, pg_catalog (ou schemas explícitos) para prevenir ataques de sequestro de path (Search-Path Hijacking).

  • Triggers: Declarados com remoção defensiva prévia: [source,sql] ---- DROP TRIGGER IF EXISTS trg_audit_instance_updated_at ON connect.instances; CREATE TRIGGER trg_audit_instance_updated_at BEFORE UPDATE ON connect.instances FOR EACH ROW EXECUTE FUNCTION connect.set_updated_at(); ----