在 PostgreSQL 中,ALTER ROLE语句用于管理和修改角色。它可用于修改角色的名称、角色的属性以及更改角色的会话默认配置变量。
用法: ALTER ROLE role_name [WITH] option;
以下函数可用于 ALTER ROLE 语句:
- SUPERUSER | NOSUPERUSER -它用于确定角色是否为超级用户。
- VALID UNTIL ‘timestamp’ -它用于指定角色密码的到期日期和时间。
- CREATEDB | NOCREATEDB-它用于向角色提供创建新数据库的权限。
- REPLICATION | NOREPLICATION -它用于检查角色是否为复制角色。
- CREATEROLE | NOCREATEROLE -它用于为角色提供创建或修改角色的权限。
- PASSWORD ‘password’ | PASSWORD NULL -它用于更改角色的密码。
- INHERIT | NOINHERIT -它用于确定继承的角色是否具有父角色的所有继承权限。
- BYPASSRLS | NOBYPASSRLS -它用于检查角色是否可以绕过 row-level 安全 (RLS) 策略。
- LOGIN | NOLOGIN -顾名思义,它用于允许角色登录。
- CONNECTION LIMIT limit -它用于设置角色可以建立的并发连接数。这里 -1 表示角色可以创建无限数量的行。
以下是使用 ALTER ROLE 语句时必须遵循的一组规则:
- 超级用户可以修改任何角色的属性。
- 只有非超级用户和 no-replication 角色可以修改,如果角色具有 CREATE ROLE 属性。
- 序数角色只能更改其密码。
例:
首先,使用 Postgres 角色登录 PostgreSQL。
现在,使用 CREATE ROLE 语句创建一个名为“Ravi”的新角色:
create role ravi login password 'geeks12345';
现在使用以下语句将 ravi 的角色修改为超级用户:
alter role ravi superuser;
要查看角色,请使用以下命令:
\du ravi
输出:
相关用法
- PostgreSQL ALTER DATABASE用法及代码示例
- PostgreSQL ALTER TABLE用法及代码示例
- PostgreSQL ALTER SCHEMA用法及代码示例
- PostgreSQL ALTER TRIGGER用法及代码示例
- PostgreSQL ALTER TABLESPACE用法及代码示例
- PostgreSQL CREATE ROLE用法及代码示例
- PostgreSQL DROP ROLE用法及代码示例
- PostgreSQL NOT IN用法及代码示例
- PostgreSQL IN用法及代码示例
注:本文由纯净天空筛选整理自RajuKumar19大神的英文原创作品 PostgreSQL – ALTER ROLE。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。