数据仓库服务 GAUSSDB(DWS)-逻辑集群概述:权限说明

时间:2024-01-26 09:00:10

权限说明

在逻辑集群模式下:

  • 逻辑集群创建权限(CREATE ON NODE GROUP)允许授予任何用户/角色,创建权限后可在对应的逻辑集群上进行创建表等相关操作。
    • 如果创建的表指定的schema是某个用户私有schema(即该schema和用户同名且schema的owner是该用户),则新创建的表会将owner自动变更为该用户,不需要进行关联逻辑集群操作。
    • 和逻辑集群关联的用户在创建表时不一定指定to group,如果没有指定to group子句,用户创建的表在用户关联的逻辑集群上;支持变更用户关联的逻辑集群。
    • 如果用户没有关联逻辑集群,该用户创建表时会将表创建到default_storage_nodegroup指定的逻辑集群上;如果default_storage_nodegroup为installation, 则将表创建到第一个逻辑集群中。在逻辑集群模式下,将oid最小的逻辑集群设置为第一个逻辑集群。通常用户没有显示设置default_storage_nodegroup的时候,默认值为installation。
    • DWS 3.0版本支持创建只读逻辑集群,如果用户关联到只读逻辑集群,只能在只读逻辑集群上创建会话级临时表(本地临时表和volatile临时表,不包括全局临时表);该用户如果创建其他常规表和外表,要遵循没有关联逻辑集群的用户建表规则,即表会创建到default_storage_nodegroup指定的逻辑集群上,如果default_storage_nodegroup是installation,则将表创建到第一个逻辑集群中。
    • 系统管理员可以通过ALTER ROLE命令为每个用户设置默认的default_storage_nodegroup,具体语法参考ALTER ROLE
  • 建表规则
    • 用户表在没有指定to group时,如果设置了default_storage_nodegroup参数,则会将表创建到指定的逻辑集群中。
    • 如果default_storage_nodegroup参数设置为installation时,则会将表创建到第一个逻辑集群中(即所有逻辑集群中oid最小的一个)。
  • 允许修改表的owner为任何用户,但对表进行操作时,需要检查对应的schema和nodegroup权限。
  • 系统管理员可以关联到特定逻辑集群,并在多个逻辑集群中创建表。
    • 系统管理员如果关联了逻辑集群,那么创建表时如果未指定to group,那么会默认创建到关联的逻辑集群中;如果指定了to group,则可将表创建到指定的逻辑集群中。
    • 系统管理员如果没有关联逻辑集群,没有指定to group,则创建在由default_storage_nodegroup参数指定的逻辑集群中,详情参见建表规则
  • 允许将系统管理员权限授予关联了逻辑集群的用户,但同样遵循建表规则
  • 非表对象(schema/sequence/function/trigger等)的访问不再检查逻辑集群权限。
  • 系统中的资源池必须关联到特定逻辑集群。
    • 在一个逻辑集群下可以创建多个资源池,同一个资源池不能属于多个逻辑集群。
    • 由于资源池定义了资源使用量,因此关联特定资源池的逻辑集群用户发起的作业将受到该资源池的资源约束。
    • 逻辑集群下不需要创建负载组来定义并发作业的数量。因此,逻辑集群模式不再支持负载组。
  • 逻辑集群删除时只删除表、外表,资源池对象,其他对象不会删除。
    • 如果有对象依赖逻辑集群下的表(部分依赖表的sequence/function/triggers)同样也会删除。
    • 逻辑集群删除过程会取消用户关联关系,删除已有的父子租户关系,该集群用户将会绑定默认的installation nodegroup,关联全局默认资源池。
  • 逻辑集群用户如果有创建数据库权限也可创建数据库。
support.huaweicloud.com/mgtg-dws/dws_01_7241.html