m10*_*10i 4 postgresql permissions upgrade amazon-rds
我刚刚将我的 AWS RDS 数据库实例从 Postgresql 升级v9.6到v10.6-R1. 我使用仪表板下数据库部分中的“修改”选项卡手动执行此操作。紧接着,作为主用户,我失去了在public架构中执行任何操作的能力。
我可以毫无问题地连接到数据库,但是当我尝试在公共模式中的表上运行 select 语句时看到此错误: ERROR: permission denied for schema public
看来我的rds_superuser用户无法再登录(freetiersuperuser是我的主用户的名称,尽管它的名称具有误导性):
master_prod=> \du+
List of roles
Role name | Attributes | Member of | Description
-------------------+------------------------------------------------------------+-------------------------------------------------------------+-------------
freetiersuperuser | Create role, Create DB +| {rds_superuser} |
| Password valid until infinity | |
rds_iam | Cannot login | {} |
rds_password | Cannot login | {} |
rds_replication | Cannot login | {} |
rds_superuser | Cannot login | {pg_monitor,pg_signal_backend,rds_replication,rds_password} |
rdsadmin | Superuser, Create role, Create DB, Replication, Bypass RLS+| {} |
| Password valid until infinity | |
rdsrepladmin | No inheritance, Cannot login, Replication | {} |
Run Code Online (Sandbox Code Playgroud)
此外,运行ANALYZE VERBOSE;有效,我可以统计公共表的信息。
如果有帮助,这是我的默认访问权限
master_prod=> \ddp
Default access privileges
Owner | Schema | Type | Access privileges
-------+--------+------+-------------------
(0 rows)
Run Code Online (Sandbox Code Playgroud)
关于出了什么问题或我可以做些什么来解决这个问题的任何想法?我感谢所有的建议。
谢谢
因此,运行这两个语句解决了我的问题(无法访问public架构中的任何内容):
master_prod=> ALTER SCHEMA public OWNER to freetiersuperuser;
ALTER SCHEMA
master_prod=> GRANT ALL ON SCHEMA public TO freetiersuperuser;
GRANT
Run Code Online (Sandbox Code Playgroud)
但是我的rds_superuser角色属性没有改变,我很想知道这是否正常(我认为不是):
Role name | Attributes | Member of
-------------------+------------------------------------------------------------+-------------------------------------------------------------
freetiersuperuser | Create role, Create DB +| {rds_superuser}
| Password valid until infinity |
rds_iam | Cannot login | {}
rds_password | Cannot login | {}
rds_replication | Cannot login | {}
rds_superuser | Cannot login | {pg_monitor,pg_signal_backend,rds_replication,rds_password}
rdsadmin | Superuser, Create role, Create DB, Replication, Bypass RLS+| {}
| Password valid until infinity |
rdsrepladmin | No inheritance, Cannot login, Replication | {}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1757 次 |
| 最近记录: |