В Postgres: log_min_duration_statement, pg_stat_statements. В Go: драйвер с логгером (pgx - pgx.Tracer, database/sql - обертка с логированием времени и запроса). Middleware или обертка над *sql.DB логирует каждый запрос и длительность. При превышении порога - логировать с уровнем warn и отправлять в систему мониторинга. Трейсинг (OpenTelemetry) привязывает запросы к span.
// обертка: перед Exec/Query засечь время, после - залогировать и запрос, и duration