gpt4 book ai didi

amazon-rds - 在所有上下文中都禁止 AWS RDS PostgreSQL 访问 pg_catalog.pg_authid?

转载 作者:行者123 更新时间:2023-12-04 12:06:17 31 4
gpt4 key购买 nike

PostgreSQL said: permission denied for relation pg_authid

pg_authid由于 RDS 锁定了 super,因此在所有情况下都无法在 AWS RDS 上使用角色?我的角色创建了表,所以 pg_catalog如果我正确阅读 psql 文档,则默认情况下应该出现(并且不需要添加到搜索路径)。只需要 SELECT ,不是创造能力。

无法找到明确的 AWS RDS 文档页面,其中说 pg_catalog.pg_authid在任何情况下都不允许,但我继承了一个文档项目,该项目依赖于能够在我刚刚创建的数据库中的 pg_authid 表上形成查询和连接。我总是得到上述许可被拒绝。

尝试添加 postgres角色并将其交给我自己,并明确将数据库添加到我的搜索路径中,但无济于事。

最佳答案

目录 pg_authid 包含有关数据库授权标识符(角色)的信息。您可能知道,由于 RDS 即服务的托管性质,不幸的是,不可能在 RDS 中拥有完整的 super 用户角色。

不幸的是,由于上面提到的是 RDS 的限制,如果访问“pg_authid”对于执行您的业务至关重要,我建议您寻找 EC2 托管的 Postgres(社区 Postgres)作为选项。查看“pg_authid”内容的解决方法是使用“pg_roles”,但密码被屏蔽,不会告诉您是否加密。

请注意,并非所有目录都被限制在 RDS 上读取,下面是 SQL 查询,它显示了 rds_superuser/master 用户对每个目录的权限。

SELECT relname, has_table_privilege('rds_superuser',relname,'SELECT') as SELECT,has_table_privilege('rds_superuser',relname,'UPDATE') as UPDATE,has_table_privilege('rds_superuser',relname,'INSERT') as INSERT,has_table_privilege('rds_superuser',relname,'TRUNCATE') as TRUNCATE FROM pg_class c , pg_namespace n where n.oid = c.relnamespace  and n.nspname in ('pg_catalog')  and relkind='r';

关于amazon-rds - 在所有上下文中都禁止 AWS RDS PostgreSQL 访问 pg_catalog.pg_authid?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55143544/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com