Gostaria de listar minhas funções e procedimentos armazenados junto com as funções que são capazes de executá-los. Posso obter informações semelhantes em tabelas via
SELECT grantee
, CONCAT(table_schema, '.', table_name) schema_table
, CASE WHEN COUNT(privilege_type) = 7 THEN 'ALL' ELSE ARRAY_TO_STRING(ARRAY_AGG(privilege_type), ', ') END granted_privileges
FROM information_schema.role_table_grants
GROUP BY table_name, table_schema, grantee
ORDER BY grantee, table_schema, table_name;
Eu gostaria do equivalente a isso para funções e procedimentos armazenados. Estou usando o Postgres v15. Obrigado pela ajuda
Você terá que consultar o catálogo do sistema
pg_proc
diretamente:A consulta leva em consideração que os privilégios padrão são "executar para todos".