我有一个运行 PostgreSQL 的 Amazon Relational Database Service (Amazon RDS) 或 Amazon Aurora 数据库实例。我希望另一位用户拥有与我的数据库实例的默认(主)用户相同的权限。我想复制或克隆默认用户。
解决方法
运行 PostgreSQL 的数据库实例只有一个默认用户(有时称为主用户),该默认用户是在创建实例时创建的。但是,您可以创建另一个拥有与默认用户完全相同权限的用户。
**重要事项:**PostgreSQL 在日志文件中以明文形式记录密码。为防止出现这一情况,请参阅如何阻止 Amazon RDS for PostgreSQL 在日志文件中以明文形式记录我的密码?
**注意:**rds_superuser 角色对 RDS 数据库实例拥有的权限是最多的。除非用户需要最多 RDS 数据库实例访问权限,否则不要将此角色分配给他们。
-
要创建新用户,请使用 CREATEDB、CREATEROLE 和 LOGIN 选项运行 CREATE ROLE。用您的用户名和密码替换 new_master 和 password。
postgres=> CREATE ROLE new_master WITH PASSWORD 'password' CREATEDB CREATEROLE LOGIN;
-
向您创建的角色授予 rds_superuser 权限。用您的用户名替换 new_master。
postgres=> GRANT rds_superuser TO new_master;
现在,新用户具有与默认用户相同的权限。
相关信息
创建角色
主用户账户权限
如何允许用户使用 AWS Identity and Access Management (IAM) 凭证连接到 Amazon RDS?