1. LOGIN:
- 用于指定是否允许用户登录到数据库。具有 LOGIN 属性的角色可以连接到数据库,而没有 LOGIN 属性的角色则不允许登录。
CREATE ROLE myuser LOGIN;
2. SUPERUSER:
- 用于指定是否将角色设置为超级用户。超级用户具有数据库中的最高权限,可以执行任何操作。
CREATE ROLE myuser SUPERUSER;
3. CREATEDB:
- 用于指定是否允许角色创建新的数据库。
CREATE ROLE myuser CREATEDB;
4. CREATEROLE:
- 用于指定是否允许角色创建新的角色。
CREATE ROLE myuser CREATEROLE;
5. INHERIT:
- 用于指定是否允许角色继承其成员角色的权限。如果设置了 INHERIT 属性,角色将继承其成员角色的权限。
CREATE ROLE myuser INHERIT;
6. REPLICATION:
- 用于指定是否允许角色作为流复制的消费者连接到数据库。通常,用于设置流复制的角色需要 REPLICATION 属性。
CREATE ROLE myuser REPLICATION;
7. BYPASSRLS:
- 用于指定是否允许角色绕过行级安全策略。如果设置了 BYPASSRLS 属性,角色将能够忽略表的行级安全规则。
CREATE ROLE myuser BYPASSRLS;
8. PASSWORD:
- 用于设置角色的密码。密码可以以明文形式提供,也可以使用哈希值。
CREATE ROLE myuser LOGIN PASSWORD 'mypassword';
9. CONNECTION LIMIT:
- 用于设置角色能够同时拥有的最大连接数。此属性对于限制角色的并发连接很有用。
CREATE ROLE myuser CONNECTION LIMIT 5;
10. VALID UNTIL:
- 用于设置角色的有效期。可以指定一个日期或时间,之后将禁止角色登录。
CREATE ROLE myuser VALID UNTIL '2023-12-31';
这些属性和设置可以在创建角色时通过 CREATE ROLE 语句指定,也可以在创建后通过 ALTER ROLE 语句进行修改。通过适当地配置这些属性,可以实现对角色的更细粒度的管理和控制。
转载请注明出处:http://www.zyzy.cn/article/detail/8304/PostgreSQL