使用CREATE USER和ALTER USER可以创建和管理数据库用户。数据库集群包含一个或多个数据库。用户和角色在整个集群范围内是共享的,但是其数据并不共享。即用户可以连接任何数据库,但当连接成功后,任何用户都只能访问连接请求里声明的数据库。
非三权分立下,GaussDB用户账户只能由系统管理员或拥有CREATEROLE属性的安全管理员创建和删除。三权分立时,用户账户只能由初始用户和安全管理员创建。
在用户登录GaussDB时会对其进行身份验证。用户可以拥有数据库和数据库对象(例如表),并且可以向用户和角色授予对这些对象的权限以控制谁可以访问哪一个对象。除系统管理员外,具有CREATEDB属性的用户可以创建数据库并授予对这些数据库的权限。
创建、修改和删除用户
- 创建用户,请使用SQL语句CREATE USER。例如:创建用户joe,并设置用户拥有CREATEDB属性。
gaussdb=# CREATE USER joe WITH CREATEDB PASSWORD "********"; CREATE ROLE
- 创建系统管理员,请使用带有SYSADMIN选项的CREATE USER语句 。
- 删除现有用户,请参见DROP USER。
- 更改用户账户(例如,重命名用户或更改密码),请参见ALTER USER。
- 查看用户列表,请查询视图GS_USER。
gaussdb=# SELECT * FROM gs_user;
- 查看用户属性,请查询系统表PG_AUTHID。
gaussdb=# SELECT * FROM pg_authid;
永久用户
GaussDB提供永久用户方案:创建具有PERSISTENCE属性的永久用户,具有PERSISTENCE属性的用户能够使用service_reserved_connections通道连接数据库。
说明:
service_reserved_connections为带有persistence属性预留的最少连接数,不建议设置过大。
gaussdb=# CREATE USER user_persistence WITH PERSISTENCE IDENTIFIED BY "********"; |
只允许初始用户创建、修改和删除具有PERSISTENCE属性的永久用户。
更多详情请参考GaussDB 文档中心:https://doc.hcs.huawei.com/db/zh-cn/gaussdbqlh/24.1.30/productdesc/qlh_03_0001.html