角色在schema中创建表所需完整权限及建表报错排查咨询
角色在Schema中创建表所需的完整权限列表
要在指定Schema下创建表,角色需要同时具备以下3项权限:
- 表所属数据库的
USAGE权限 - 表所属Schema的
USAGE权限 - 表所属Schema的
CREATE TABLE权限
你当前操作的权限缺失原因排查
你执行的授权语句GRANT CREATE TABLE ON ALL SCHEMAS IN DATABASE TEST1_CONTROL TO DEVELOPERS;仅对授权执行时,TEST1_CONTROL数据库下已经存在的Schema生效,不会自动覆盖后续新建的Schema。
你可以按以下顺序排查:
- 首先确认你要建表的
PDSSchema是否属于TEST1_CONTROL数据库:- 如果不属于,你需要单独授予
DEVELOPERS角色对应数据库的USAGE权限、PDSSchema的USAGE权限和CREATE TABLE权限 - 如果属于,则证明
PDSSchema是你执行上述授权语句后才创建的,没有被授权覆盖
- 如果不属于,你需要单独授予
- 修复执行语句如下:
-- 单独给PDS Schema授予建表权限 GRANT CREATE TABLE ON SCHEMA TEST1_CONTROL.PDS TO DEVELOPERS;
如果需要后续TEST1_CONTROL下所有新建的Schema都自动给DEVELOPERS角色授予建表权限,可以额外执行:
GRANT CREATE TABLE ON FUTURE SCHEMAS IN DATABASE TEST1_CONTROL TO DEVELOPERS;
内容的提问来源于stack exchange,提问作者Eric Mamet
相关产品推荐
相关产品推荐

