postgresql - postgres RDS 服务器中的 rds_superuser 角色

标签 postgresql amazon-web-services rds

我刚刚在 aws 上创建了一个新的 postgres RDS 实例(通过仪表板),我给了它一个默认用户,我们称他为“jack”。

当我登录实例时,我看到了我创建的用户“jack”,并且他附加了一个角色“rds_superuser”。 (所以我认为我可以做我以前在常规 postgres 服务器上使用 super 用户所做的相同的事情)。

我检查了 documentation , 我看到那是不可能的。

作为默认用户“stan”登录,我创建了一个新的数据库用户“stan”,并想创建一个新的数据库,所有者是用户“stan”,我不能吗?

我输入了这样的内容:

CREATE DATABASE foobar WITH OWNER = stan;

但是我得到了一个错误,说的是这样的:

错误:必须是角色“stan”的成员

所以,我所做的是,创建角色“stan”,以默认用户“jack”的身份注销,以“stan”的身份登录到 RDS 实例,并以他作为所有者创建该数据库。

因为我有三个不同的用户,所以我不得不将最后一步重复三次。

我的问题是,有没有一种方法可以让我在创建 RDS postgres 期间创建默认用户“jack”,能够创建新数据库(如常规 postgres 服务器安装上的 super 用户)并为不同的所有者提供这个:

CREATE DATABASE foobar WITH OWNER = stan;

谢谢, 汤姆

最佳答案

您应该将 stan 授予 rds_superuser 才能执行此操作。你做了:

rds=> create user stan;
CREATE ROLE
rds=> CREATE DATABASE foobar WITH OWNER = stan;
ERROR:  must be member of role "stan"

你应该:

rds=> grant stan to su_rdsadm;
GRANT ROLE
rds=> CREATE DATABASE foobar WITH OWNER = stan;
CREATE DATABASE

我以 rds super 用户的身份做到了:

rds=> \du+ su_rdsadm
                                  List of roles
  Role name  |          Attributes           |      Member of       | Description
-------------+-------------------------------+----------------------+-------------
 su_rdsadm | Create role, Create DB       +| {rds_superuser,stan} |
             | Password valid until infinity |                      |

rds=> select current_user;
 current_user
--------------
 su_rdsadm
(1 row)

很高兴进一步了解这一点。 rds_superuser 对所有权/授权等的这种限制将一直打击你,直到你将你想要操作(或代表你想要授予)其对象的角色授予 rds super 用户。

关于postgresql - postgres RDS 服务器中的 rds_superuser 角色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49781775/

相关文章:

amazon-web-services - 使用自定义 DNS 名称通过路由 53 A 记录指向我的 EC2 计算机?

mysql - Amazon AWS MySQL 只读表

python - 使用 SQLAlchemy session 处理 Flask 和并发问题

amazon-web-services - 云信息 : Error: Member must have length less than or equal to 20

Python3 - 从 json 解析 AWS 实例标签。经历古怪的行为

mysql - 在工作台管理-客户端连接选项卡中选择 * 是什么意思

postgresql - AWS RDS 上的高 CPU 使用率 - Postgres

sql - 如何根据列值选择不同百分比的数据?

postgresql - 如何在GGST中添加postgresql jar

mongodb - Mongo 到 Postgres 迁移 - 将 mongo hexa Id 字段转换为更短的整数