【问题标题】:PostgreSQL - Role "pg_read_all_data" not working as intended?PostgreSQL - 角色“pg_read_all_data”没有按预期工作?
【发布时间】:2022-06-14 05:31:47
【问题描述】:

根据我对PostgreSQL documentation 的理解,角色“pg_read_all_data”应该授予角色持有者执行“Select * from SCHEMA.TABLE”和类似查看数据的能力。但是,我不确定为什么这对我来说在实践中不起作用。

我在帐户“X”上创建了一个示例架构和数据库,例如: Image showing schema and table structure

但是,当我使用角色“pg_read_all_data”登录角色“Y”(启用登录选项)并尝试执行时: SELECT * FROM test.test_table

编辑:我已通过以下命令将角色“pg_read_all_data”分配给超级用户角色上的“Y”。

它抛出一个权限错误:SQL 错误 [42501]: ERROR: permission denied for schema test 位置:15

我有点不明白为什么当角色应该授予选择权限时会出现这种情况。谁能告诉我为什么会这样?

【问题讨论】:

  • pg_read_all_data 是您授予另一个角色的 role。您需要向我们展示您运行的GRANT,以将其分配给现有的role。还要定义'帐户“Y”'是什么意思?添加答案作为问题的更新。
  • 为我工作。您没有提供足够的信息来重现或诊断这种情况。
  • @AdrianKlaver 我已更新问题以反映您的 cmets。帐户“Y”表示角色“Y”(启用“登录”选项的单独创建的角色)。我在超级用户帐户上通过 GRANT pg_read_all_data to "Y" 将 pg_read_all_data 授予 "Y"。
  • 什么是完整版? select version()
  • PostgreSQL 14.3,由 Visual C++ build 1914 编译,64 位

标签: postgresql


【解决方案1】:

关闭 - 几天后,我回到了这个问题,它似乎已经解决了。

【讨论】:

    猜你喜欢
    • 2019-10-23
    • 2023-01-27
    • 2018-12-19
    • 1970-01-01
    • 1970-01-01
    • 2015-11-12
    • 2018-01-16
    • 2017-02-04
    • 1970-01-01
    相关资源
    最近更新 更多