我正在尝试使用命令ALTER DEFAULT PRIVILEGES...
在PostgreSQL 9.5.4中设置默认权限。这在尝试授予权限时有效,但我无法弄清楚如何从默认情况下撤消函数的执行权限。我试过了:
ALTER DEFAULT PRIVILEGES FOR USER myAdmin IN SCHEMA public
REVOKE EXECUTE ON FUNCTIONS FROM public;
这似乎对\ddp
的输出没有影响。除非另有说明,否则有没有办法防止函数被所有者以外的用户执行?感谢。
答案 0 :(得分:4)
如果您使用IN SCHEMA
指定ALTER DEFAULT PRIVILEGES
,则只能授予权限,但不能撤销。
每个模式指定的默认权限将添加到特定对象类型的全局默认权限。
因此,您必须通过将命令更改为:
来撤消全局默认权限ALTER DEFAULT PRIVILEGES FOR USER myAdmin
REVOKE EXECUTE ON FUNCTIONS FROM public;