Greenplum查询用户或角色
pg_roles
pg_roles视图提供关提供了关于数据库角色的信息。 这是pg_authid的一个公共可读视图,它隐去了口令域。 此视图显示了低层表的OID列,因为需要它来和其他目录做连接。
列 | 类型 | 参考 | 描述 |
---|---|---|---|
rolname | name | 角色名 | |
rolsuper | bool | 角色是否具有超级用户权限 | |
rolinherit | bool | 如果此角色是另一个角色的成员,角色是否能自动继承另一个角色的权限 | |
rolcreaterole | bool | 角色能否创建更多角色 | |
rolcreatedb | bool | 角色能否创建数据库 | |
rolcatupdate | bool | 角色能够更新直接更新系统目录(除非该列设置为真,否则超级用户也不能执行该操作) | |
rolcanlogin | bool | 角色是否能登录?即此角色能否被作为初始会话授权标识符 | |
rolconnlimit | int4 | 对于一个可登录的角色,这里设置角色可以发起的最大并发连接数。-1表示无限制。 | |
rolpassword | text | 不是口令(看起来是**) | |
rolvaliduntil | timestamptz | 口令失效时间(只用于口令认证),如果永不失效则为NULL | |
rolconfig | text[] | 运行时配置变量的角色特定默认值 | |
rolresqueue | oid | pg_resqueue.oid | 该角色指定的资源队列的对象ID |
oid | oid | pg_authid.oid | 角色的ID |
rolcreaterextgpfd | bool | 角色能够创建使用gpfdist协议的可读的外部表 | |
rolcreaterexthttp | bool | 角色能够创建使用http协议的可读的外部表 | |
rolcreatewextgpfd | bool | 角色能否创建使用了gpfdist协议的可写外部表 | |
rolresgroup | oid | pg_resgroup.oid | 分配了此角色的资源组的对象ID |
pg_authid
pg_authid表包含了有关数据库认证标识符(角色)的信息。 角色包含用户和组的概念。 用户是设置了rolcanlogin标志的角色。 任何角色(有或者没有rolcanlogin)可能有其他角色作为其成员。 请参阅pg_auth_members。
由于此目录包含密码,因此不是公众可读的。 pg_roles是pg_authid上的一个公开可读的视图,其中模糊化了密码字段。
由于用户身份是全系统范围的,因此pg_authid在Greenplum数据库系统中的所有数据库之间共享:每个系统只有一个pg_authid副本,而不是每个数据库一个。
列 | 类型 | 参考 | 描述 |
---|---|---|---|
oid | oid | 行标识符(隐藏属性;必须显式选择) | |
rolname | name | 角色名称 | |
rolsuper | boolean | 角色具有超级用户特权 | |
rolinherit | boolean | 角色自动继承其所属角色的权限 | |
rolcreaterole | boolean | 角色可以创建其他更多角色 | |
rolcreatedb | boolean | 角色可以创建数据库 | |
rolcatupdate | boolean | 角色可以直接更新系统目录(即使超级用户也不能这样做,除非此列为真) | |
rolcanlogin | boolean | 角色可以登录。也就是说,该角色可以作为初始会话授权标识符 | |
rolreplication | boolean | 角色是复制角色。 也就是说,此角色可以使用pg_start_backup和pg_stop_backup启动流复制并设置/取消设置系统备份模式。 | |
rolconnlimit | int4 | 对于那些可以登录的角色,这一列设置此角色可以创建的最大并发连接数。 -1表示没有限制。 | |
rolpassword | text | 密码(可能是加密的); 如果没有则为NULL。 如果密码已加密,则此列将以字符串md5开头,后跟32个字符的十六进制MD5哈希。 MD5哈希将是用户的密码连接到他们的用户名。 例如,如果用户joe的密码为xyzzy,则Greenplum数据库将存储xyzzyjoe的md5哈希值。 Greenplum假定不遵循该格式的密码未加密。 | |
rolvaliduntil | timestamptz | 密码到期时间(仅用于密码验证);不过期则为NULL | |
rolresqueue | oid | pg_resqueue中关联资源队列ID的对象ID | |
rolcreaterextgpfd | boolean | 使用gpfdist或gpfdists协议创建读取外部表的权限 | |
rolcreaterexhttp | boolean | 使用http协议创建读取外部表的权限 | |
rolcreatewextgpfd | boolean | 使用gpfdist或gpfdists协议创建写入外部表的权限 | |
rolresgroup | oid | pg_resgroup中关联资源组ID的对象ID |
pg_auth_members
pg_auth_members系统目录表显示角色之间的成员关系。 允许任何非循环关系。因为角色是系统范围的,所以pg_auth_members表在Greenplum数据库系统的所有数据库之间共享。
列 | 类型 | 参考 | 描述 |
---|---|---|---|
roleid | oid | pg_authid.oid | 父级(组)角色的ID |
member | oid | pg_authid.oid | 成员角色的ID |
grantor | oid | pg_authid.oid | 授予此成员关系的角色的ID |
admin_option | boolean | 如果角色成员可以向其他人授予成员关系,则为true |
参考
https://www.bookstack.cn/read/greenplum-admin_guide-6.0-zh/d4a6faab8c25d74a.md