dw8*_*547 7 postgresql permissions functions
我正在尝试查找EXECUTE
和ALL
之间的区别的参考资料:
GRANT { EXECUTE | ALL [ PRIVILEGES ] } ON { FUNCTION | ALL FUNCTIONS IN SCHEMA }...
Run Code Online (Sandbox Code Playgroud)
但我能找到的只是文档所说的:
EXECUTE 允许使用指定的函数以及使用在该函数之上实现的任何运算符。这是唯一适用于函数的特权类型。(此语法也适用于聚合函数。)
例如,我知道对于模式ALL = CREATE + USAGE
,但我想在函数引用中仔细检查:
这是唯一适用于函数的特权类型。
在上面的文档片段中暗示了对于函数ALL = EXECUTE
并且:
GRANT ALL ON ALL FUNCTIONS...
Run Code Online (Sandbox Code Playgroud)
相当于:
GRANT EXECUTE ON ALL FUNCTIONS...
Run Code Online (Sandbox Code Playgroud)
唯一适用于函数的权限是 EXECUTE,因此当您使用 ALL 时,postgresql 将尝试应用所有可用于函数的权限,而现在这只是“EXECUTE”。
所以意思是完全一样的。
执行
允许使用指定的函数以及在该函数之上实现的任何运算符。这是唯一适用于函数的特权类型。
https://www.postgresql.org/docs/10/static/sql-grant.html
但要小心,如果在新的 postgresql 版本中实现更多类型的函数权限,这可能会出错(但除了执行之外我看不到其他内容)。
归档时间: |
|
查看次数: |
14167 次 |
最近记录: |