本页介绍了如何创建和管理 AlloyDB Omni 用户和角色。
除了 PostgreSQL 附带的默认用户和角色之外,您还可以创建其他 PostgreSQL 用户或角色。这些用户拥有与 postgres
用户相同的一组权限:CREATE ROLE
、CREATEDB
和 LOGIN
。如需详细了解这些特权,请参阅 CREATE ROLE
。
您可以使用 ALTER ROLE
命令更改任何用户的权限。如果您使用 psql
客户端创建新用户,则可以选择将其与其他角色相关联,或分配不同的权限。
准备工作
如需使用 PostgreSQL 命令管理集群中的用户,您需要满足以下条件:
- 有权访问
psql
客户端 - 对
postgres
数据库用户或其他具有适当管理员权限的用户的访问权限
创建数据库用户
如需创建一个直接使用用户名和密码(也称为内置身份验证)与数据库进行身份验证的数据库用户,请使用以下命令:
CREATE USER USERNAME WITH PASSWORD 'PASSWORD';
替换以下内容:
USERNAME
:用户角色的用户名。PASSWORD
:要分配给用户角色的新密码。
如需创建使用身份和访问管理 (IAM) 进行身份验证的数据库用户,请参阅管理 IAM 身份验证。
如需详细了解如何创建和定义数据库用户,请参阅 CREATE
USER
。
创建用户或角色后,您可以在 psql
客户端中使用 ALTER
ROLE
命令更改其权限。
向数据库用户授予角色
如需向数据库用户授予角色,请使用以下命令:
GRANT ROLE to USERNAME;
替换以下内容:
ROLE
:要授予数据库用户的角色。PASSWORD
:要分配给用户角色的新密码。
如需向用户授予超级用户权限,请向该用户授予 alloydbsuperuser
角色。
更改数据库用户的密码
如需为标准 PostgreSQL 数据库用户设置新密码,请使用以下命令:
ALTER USER USERNAME WITH PASSWORD 'PASSWORD';
替换以下内容:
USERNAME
:数据库用户的用户名。PASSWORD
:要分配给用户角色的新密码。
您无法更改或设置基于 IAM 的用户的密码,因为基于 IAM 的用户不使用密码进行身份验证。如需了解详情,请参阅使用 IAM 账号进行连接。
如需详细了解如何更改用户的密码,请参阅 ALTER ROLE
。
撤消数据库用户的角色
如需撤消一个或多个角色之前授予的权限,或撤消用户对某个角色的成员资格,请使用以下命令:
REVOKE ROLE FROM USERNAME;
如需移除用户的超级用户权限,请从该用户撤消 alloydbsuperuser
角色。
查看数据库用户列表
如需查看包含所有数据库用户及其组成员资格的表格,请使用以下命令:
\du
删除数据库用户
在删除用户之前,您必须先放弃该用户拥有的所有对象或重新分配其所有权,并撤消该角色对其他对象拥有的任何特权。
如需删除用户,请使用以下命令:
DROP ROLE USERNAME;