Postgres

Check Security Definers

SELECT 
    n.nspname AS schema_name,
    p.proname AS function_name,
    pg_get_userbyid(p.proowner) AS owner_name,
    CASE WHEN p.prosecdef THEN 'TRUE' ELSE 'FALSE' END AS is_security_definer,
    array_to_string(p.proacl, ',') AS permissions
FROM 
    pg_proc p
JOIN 
    pg_namespace n ON p.pronamespace = n.oid
WHERE 
    p.prosecdef = TRUE 
    AND n.nspname NOT IN ('pg_catalog', 'information_schema') -- Исключаем системные, хотя и там бывают баги
ORDER BY 
    owner_name

Last updated