默认权限机制
数据库对象创建后,进行对象创建的用户就是该对象的所有者。集群安装后默认情况下,数据库系统管理员具有与对象所有者相同的权限。也就是说对象创建后,默认只有对象所有者或者系统管理员可以查询、修改和销毁对象,以及通过GRANT将对象的权限授予其他用户,请参见《参考》中 “SQL参考 > SQL语法 > G> GRANT”章节。
为使其他用户能够使用对象,必须向用户或包含该用户的角色授予必要的权限。
GaussDB支持以下的权限:SELECT、INSERT、UPDATE、DELETE、TRUNCATE、REFERENCES、CREATE、CONNECT、EXECUTE、USAGE、ALTER、DROP、COMMENT、INDEX和VACUUM。不同的权限与不同的对象类型关联。有关各权限的详细信息,请参见《参考》中 “SQL参考 > SQL语法 > G> GRANT”章节。
要撤销已经授予的权限,请参见《参考》中 “SQL参考 > SQL语法 > R > REVOKE”章节。对象所有者的权限(例如ALTER、DROP、COMMENT、INDEX、VACUUM、GRANT和REVOKE)是隐式拥有的,即只要拥有对象就可以执行对象所有者的隐式权限。对象所有者可以撤销自己的普通权限(SELECT、INSERT、UPDATE、DELETE),例如,设置表对自己以及其他人只读,系统管理员用户除外。
系统表和系统视图要么只对系统管理员可见,要么对所有用户可见。标识了需要系统管理员权限的系统表和视图只有系统管理员可以查询。有关信息,请参见《参考》中 “系统表和系统视图”章节。
数据库提供对象隔离的特性,对象隔离特性开启时,用户只能查看有权限访问的对象(表、视图、字段、函数),系统管理员不受影响。有关信息,请参见《参考》中 “SQL参考 > SQL语法 > A > ALTER DATABASE”章节。
不建议用户修改系统表和系统视图的权限。