guassdb(DWS)租户管理
简介
guassdb的租户管理实际上是基于linux的cgroup功能实现的,这里记录如何通过命令创建多租户。
租户管理
创建cgroup
#需要在每个服务器上建立cgroup,所以需要gs_ssh来执行
#建立class控制组,可以使用系统的20%资源
gs_ssh -c "gs_cgroup -c -S class_test -s 20"
#建立workload控制组,是class控制组的子节点,这里配置可以使用class_ygyc的50%资源
gs_ssh -c "gs_cgroup -c -S class_test -G test_wkld1 -g 50"
#在任意一台服务器上查看cgroup信息
gs_cgroup -p
gs_cgroup -P
创建资源池
#gsql连接数据库,然后执行
#创建资源池,关联到class控制组,这种资源池称为组资源池
CREATE RESOURCE POOL resource_pool_test WITH (control_group='class_test');
#创建资源池,关联到workload控制组,这种资源池称为业务资源池
CREATE RESOURCE POOL resource_pool_test_1 WITH (control_group='class_test:test_wkld1');
#查看资源池信息
SELECT * FROM PG_RESOURCE_POOL;
SELECT * FROM gs_control_group_info('resource_pool_test_1');
创建用户
#创建用户,关联到组资源池,这种用户被称为组用户
CREATE USER g_test RESOURCE POOL 'resource_pool_a' PASSWORD 'Gauss_234';
#创建用户,关联到业务资源池,这种用户被称为业务用户,就是给应用使用的用户
CREATE USER u_test RESOURCE POOL 'resource_pool_a_1' USER GROUP 'g_test' PASSWORD 'Gauss_234';
#查看用户绑定的资源池
select rolname,rolrespool from PG_AUTHID;
#授权用户u_test登录和访问testdb
gs_guc reload -Z coordinator -N all -I all -h "host testdb u_test 0.0.0.0/0 sha256"
#用户连接数据库测试
gsql -U u_ygyc -W passwd -d testdb -p 25308 -r
问题
在DWS8.0.0.0版本,可以通过web界面或命令行创建租户。命令行创建的用户在web界面看不到,而web界面创建的租户的名称和存到数据库里的名称不一样,缺乏可读性。

浙公网安备 33010602011771号