首批通过分布式安全可靠测评,为关键业务系统打造
information_schema.role_column_grants
更新时间:2026-04-30 18:41:39
说明
对于 V4.3x 版本,该视图从 V4.3.3 版本开始引入;对于 V4.2.x 版本,该视图从 V4.2.4 版本开始引入。
功能描述
视图 role_column_grants 展示了用户在当前会话中被授予的已激活的角色的列权限信息,以及这些角色被授予的其他角色的列权限信息。
字段说明
| 字段名称 | 类型 | 是否可以为 NULL | 描述 |
|---|---|---|---|
| GRANTOR | null | NO | 授权给该角色的账户的用户名部分。在 OceanBase 数据库中,该值始终为 NULL。 |
| GRANTOR_HOST | null | NO | 授权给该角色的账户的主机部分。 在 OceanBase 数据库中,该值始终为 NULL。 |
| GRANTEE | varchar(32) | NO | 该角色对应账户的用户名部分。 |
| GRANTEE_HOST | varchar(255) | NO | 该角色对应账户的主机名部分。 |
| TABLE_CATALOG | varchar(3) | NO | 该角色被授权的目录的名称,该值始终为 def。 |
| TABLE_SCHEMA | varchar(64) | NO | 该角色被授权的表所属的数据库名。 |
| TABLE_NAME | varchar(64) | NO | 该角色被授权的表的表名。 |
| COLUMN_NAME | varchar(64) | NO | 该角色被授权的表的列名。 |
| PRIVILEGE_TYPE | varchar(31) | NO | 授予的权限。该值可以是在指定表的列级别授予的任何权限,每一行展示某一列的所有权限。 |
| IS_GRANTABLE | varchar(3) | NO | 该角色的权限是否可以授予其他用户。 |
查询示例
创建角色和表。
obclient [test]> CREATE ROLE employee;obclient [test]> CREATE TABLE tbl1(c1 int, c2 int, c3 int);为角色授予列级权限。
obclient [test]> GRANT INSERT (c1, c2), SELECT (c1) ON test.tbl1 TO employee;将角色授予用户。
obclient [test]> GRANT employee TO user1;使用用户
user1连接到数据库。在当前会话中激活
employee角色。obclient [test]> SET ROLE employee;查看用户在当前会话中被授予的已激活的角色的列权限信息。
obclient [test]> USE information_schema;obclient [test]> SELECT * FROM information_schema.role_column_grants;查询结果如下:
+---------+--------------+----------+--------------+---------------+--------------+------------+-------------+----------------+--------------+ | GRANTOR | GRANTOR_HOST | GRANTEE | GRANTEE_HOST | TABLE_CATALOG | TABLE_SCHEMA | TABLE_NAME | COLUMN_NAME | PRIVILEGE_TYPE | IS_GRANTABLE | +---------+--------------+----------+--------------+---------------+--------------+------------+-------------+----------------+--------------+ | NULL | NULL | employee | % | def | test | tbl1 | c1 | Select,Insert | NO | | NULL | NULL | employee | % | def | test | tbl1 | c2 | Insert | NO | +---------+--------------+----------+--------------+---------------+--------------+------------+-------------+----------------+--------------+ 2 rows in set