特权是通过名称授予单个用户或以名称 PUBLIC 授予所有用户的。授予 PUBLIC 的任何特权都充当缺省特权。
在执行语句之前,数据库服务器确定用户是否具有必需的特权。此信息位于系统目录中。有关更多信息,请参阅系统目录表中的特权。
数据库服务器首先查找以明确方式授予发出请求的用户的特权。如果找到这样的授权,那么使用该信息。 然后,数据库服务器查看是否已将限制更低的特权授予 PUBLIC。如果有的话,数据库服务器就使用限制性更弱的特权。 如果没有对该用户进行任何授权,那么数据库服务器会查找已授予 PUBLIC 的特权。如果找到相关的特权,那么使用该特权。
因此,要对所有用户设置最低级别的特权,请将特权授予 PUBLIC。在特定的情况下可覆盖该特权,方法是将更高的个别特权授予用户。