RDS postgres 上的主用户无法向新用户授予模式权限

Master user on RDS postgres can not grant schema privileges to new user

我在 RDS 实例上有大约 5 个测试 postgres 数据库。到目前为止,所有这些都已创建并且 运行 使用 Master_user(在实例创建时创建)。

我现在正在尝试创建 5 个新用户并分别为每个数据库授予所有权限。我尝试了 Pgadmin4 Grant 向导,但我得到了任何授予选项的权限被拒绝错误。 Grant ALL 不起作用,Grant Create, Insert 等也不起作用。可能是什么问题??

我刚刚用 --no-owner --no-acl 备份了所有数据库,重命名数据库并创建新所有者的新数据库。恢复每个所有者的每个备份并实现我想要的。

解决方案是使用实例创建的主数据库作为模板,这样主用户就可以完全访问它。我认为他们只是想限制人们在同一个 RDS 上创建多个数据库..

假设我们以 rds_superuser 的身份连接到数据库,那么我们需要执行以下步骤:

  1. 将关系所有者授予 rds_superuser(能够 "become" 它)
  2. 成为所有者
  3. 授予

例如:

rds_superuser@rds_db> grant schema_owner to rds_superuser ;
GRANT ROLE
rds_superuser@rds_db> set role schema_owner;
SET
rds_superuser@rds_db> grant select on all tables in schema schema_name to new_user;
GRANT
rds_superuser@rds_db> reset role;
RESET