我可以对数据库中的所有模式授予 SELECT 权限吗?

Mzi*_*zia 4 postgresql permissions role select users

我需要创建只能读取(选择)数据的角色用户。我可以针对特定模式执行此操作。但我需要它与所有现有和未来的模式(至少现有)一起工作。我该怎么做?

我试过了

GRANT select ON DATABASE my_db TO my_role;
Run Code Online (Sandbox Code Playgroud)

但它说我不能:

0LP01 无效_授权_操作

ps:我需要向数据库中的所有模式授予选择权限,我只是尝试使用查询中的数据库作为选项来执行此操作,但是如果您知道如何为空数据库的选择授予角色权限,我'我也会很高兴看到这一点

Lau*_*lbe 6

您可以等待 PostgsqlSQL v14 及其pg_read_all_data系统角色。

除此之外,您必须单独授予USAGE所有模式和SELECT所有表。

GRANT SELECT ON ALL TABLES IN SCHEMA将使这项工作变得更加容易。

我的建议是不要将所有这些授权授予最终用户角色,而是授予中间角色,然后将其授予最终用户。这样就很容易掉落了qaread