默认情况下如何撤销PostgreSQL中函数的执行特权

Jef*_*f G 1 postgresql postgresql-9.5

我正在尝试使用命令在PostgreSQL 9.5.4中设置默认权限ALTER DEFAULT PRIVILEGES...。这在尝试授予权限时有效,但是我无法弄清楚默认情况下如何从函数撤消执行权限。我试过了:

ALTER DEFAULT PRIVILEGES FOR USER myAdmin IN SCHEMA public
    REVOKE EXECUTE ON FUNCTIONS FROM public;
Run Code Online (Sandbox Code Playgroud)

这似乎对的输出没有影响\ddp。除非获得其他许可,是否可以防止所有者以外的其他用户执行功能?谢谢。

Lau*_*lbe 5

如果指定IN SCHEMAALTER DEFAULT PRIVILEGES,你只能授予的权限,但不能撤销他们。

该文件说:

根据架构指定的默认特权将添加到特定对象类型的所有全局默认特权中。

因此,必须通过将命令更改为以下命令来撤消全局默认特权:

ALTER DEFAULT PRIVILEGES FOR USER myAdmin
    REVOKE EXECUTE ON FUNCTIONS FROM public;
Run Code Online (Sandbox Code Playgroud)