我希望能够连接到PostgreSQL数据库并找到特定模式的所有函数.
我的想法是我可以对pg_catalog或information_schema进行一些查询并得到所有函数的列表,但我无法弄清楚名称和参数的存储位置.我正在寻找一个查询,它将为我提供函数名称和它所采用的参数类型(以及它们采用的顺序).
有没有办法做到这一点?
我有一个拥有1000多个功能的数据库.我想授予某些用户执行权限.我无法手动完成,因此我想获得一个函数列表并编写代码以生成所有函数的GRANT EXECUTE脚本.我尝试了以下脚本,但这不是给我参数.我无法通过此查询获取参数.
SELECT 'GRANT EXECUTE ON FUNCTION '||nspname||'.'||proname||' TO gis;'
FROM pg_catalog.pg_namespace n
JOIN pg_catalog.pg_proc p
ON pronamespace = n.oid
WHERE nspname = 'ccdb'
Run Code Online (Sandbox Code Playgroud)
如何使用数据类型获得所需的结果?
喜欢,
GRANT EXECUTE ON FUNCTION <schema_name>.<table_name>(<list of arguments>) TO <user_name>;
Run Code Online (Sandbox Code Playgroud)