在 PostgreSQL 中,role_column_grants 不是一个常见的系统表。然而,有一些与角色(role)和列(column)相关的系统表,其中包含有关角色对列的权限授予信息。其中之一是 information_schema.column_privileges。

以下是 information_schema.column_privileges 表的一些关键列:

  •  grantor: 授予权限的角色。

  •  grantee: 被授予权限的角色。

  •  table_catalog: 表所属的目录(通常是数据库名称)。

  •  table_schema: 表所属的模式。

  •  table_name: 表的名称。

  •  column_name: 列的名称。

  •  privilege_type: 授予的权限类型,如 SELECT、INSERT、UPDATE、REFERENCES 等。


通过查询 information_schema.column_privileges 表,你可以获取有关特定表列的权限信息。以下是一个简单的查询示例,显示了给定表 my_table 中列 my_column 授予的所有权限:
SELECT
  grantor,
  grantee,
  table_catalog,
  table_schema,
  table_name,
  column_name,
  privilege_type
FROM
  information_schema.column_privileges
WHERE
  table_name = 'my_table' AND
  column_name = 'my_column';

这个查询会返回给定表列的权限信息,包括授予权限的角色、被授予权限的角色、表和列的信息以及具体的权限类型。

请注意,具体的系统表和列名可能有所不同,具体取决于 PostgreSQL 版本和配置。


转载请注明出处:http://www.zyzy.cn/article/detail/8438/PostgreSQL