高斯数据库 (gaussDB) - 资源负载管理 - 租户管理 (4)

存储资源管理

背景信息

存储资源管理在多租户场景下用于限定不同用户可以使用的空间配额,防止用户使用
存储空间过大导致业务执行受阻。GaussDB 200 通过在创建用户时指定存储空间的大小
实现对存储资源的管理。
存储空间管理支持对组用户和业务用户的存储空间管理,当业务用户对应的组用户存
在空间限制时,则业务用户的空间也受到该组用户的空间限制。

前提条件

  • 存储空间控制功能 enable_perm_space 已设置为“on”。
  • 已熟悉 23.3.10 gs_guc 和 16.14.31 ALTER USER 的使用。

操作步骤

步骤 1 2.2.3 使用 gsql 连接数据库。
步骤 2 对业务“tenant_a1”的最大存储空间不设限制。
ALTER USER tenant_a1 PERM SPACE 'unlimited';
ALTER ROLE
步骤 3 修改业务用户“tenant_a1”的最大存储空间为 100G。
ALTER USER tenant_a1 PERM SPACE ' 100G ';
ALTER ROLE

说明

  • 空间信息 CN 会定时从 DN 获取并执行检查,间隔周期为 10s,用户实际使用的空间大小可能会 超出最大空间限制。
  • CN 检查发现空间超过限制时候,会对所执行的插入作业执行 cancel 操作,并会在 pg_log 目录 下的日志文件中记录如下信息:“cancel thread for space limit exceed.”。

查看用户的信息

select * from pg_user;
usename | usesysid | usecreatedb | usesuper | usecatupd | userepl | passwd | valbegin |
valuntil | respool | parent | spacelimit | useconfig
--------------+----------+-------------+----------+-----------+---------+----------+----------
+----------+--------------+--------+-------------+-----------
tenant_a1 | 32309 | f | f | f | f | ******** |
| | resource_pool_a1 | 0 |  104857600 K |
(1 rows)

  
    展开阅读全文