公开模式下新用户的默认特权?

时间:2018-11-08 09:22:49

标签: postgresql privileges

我刚刚使用附加的application模式创建了一个数据库。

对于Java Spring Boot应用程序,我使用以下SQL脚本创建了一个新角色来设置特权:

CREATE USER app_role WITH ENCRYPTED PASSWORD '#########';

GRANT ALL ON SCHEMA application TO app_role;

现在,我的期望是,以该角色登录时只能在模式application中创建和删除表。

但是,我还能够在模式public中创建和修改表。

public模式有默认权限吗?

为什么要在未授予任何特权的架构中创建表?

1 个答案:

答案 0 :(得分:0)

the documentation描述了public模式在PostgreSQL中的特殊作用。

如果您不希望这样做(这可能是一个安全问题),则可以REVOKE享有CREATE特权,甚至可以完全放弃该模式。