postgresql-9.2 – 如何在postgres中更改函数的所有者
发布时间:2020-12-13 15:49:40 所属栏目:百科 来源:网络整理
导读:我正在编写一个脚本来改变postgres的所有功能(更改每个函数的所有者).我能够使用postgres查询列出所有函数名称,但不能列出每个函数的参数. 如果我得到以下任何问题的解决方案,我的问题将得到解决: 有没有办法在每个函数中列出参数的数据类型. 我们有任何改
我正在编写一个脚本来改变postgres的所有功能(更改每个函数的所有者).我能够使用postgres查询列出所有函数名称,但不能列出每个函数的参数.
如果我得到以下任何问题的解决方案,我的问题将得到解决: >有没有办法在每个函数中列出参数的数据类型. 解决方法
是的,使用pg_get_function_identity_arguments()函数: 以下将创建一个SQL脚本来更改someschema架构中的所有函数: select 'alter function '||nsp.nspname||'.'||p.proname||'('||pg_get_function_identity_arguments(p.oid)||') owner to newowner;' from pg_proc p join pg_namespace nsp ON p.pronamespace = nsp.oid where nsp.nspname = 'someschema'; 您可以将其输出假脱机到文件中,然后运行该生成的脚本. 如果你有需要引用的函数名,你可能需要使用quote_ident来连接函数名. 您可以将所有内容包装到函数中,并使用动态SQL,以便在需要定期的情况下使生活更轻松. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |