如何创建用户并使之具有与运行 PostgreSQL 的 Amazon RDS 或 Aurora 数据库实例的主用户相同的权限?

上次更新日期:2022 年 5 月 27 日

我有一个运行 PostgreSQL 的 Amazon Relational Database Service (Amazon RDS) 或 Amazon Aurora 数据库实例。我希望另一个用户具有与数据库实例主用户相同的权限。如何复制或克隆主用户?

解决方法

运行 PostgreSQL 的数据库实例只能有一个主用户,该主用户是创建该实例时创建的。但是,您可以创建另一个与该主用户具有相同权限的用户。

注意:PostgreSQL 在日志文件中以明文形式记录密码。要防止这种情况,请查阅 如何阻止 Amazon RDS for PostgreSQL 在日志文件中以明文形式记录我的密码?

重要提示:rds_superuser 角色拥有 RDS 数据库实例的最大权限。除非用户需要最大访问权限以访问 RDS 数据库实例,否则请勿将此权限分配给用户。

1.    通过运行 CREATE ROLE 命令创建新用户:

postgres=> CREATE ROLE new_master WITH PASSWORD 'password' CREATEDB CREATEROLE LOGIN;

注意:请将 new_masterpassword 替换为您的用户名和密码。

2.    向您创建的角色授予 rds_superuser 权限:

postgres=> GRANT rds_superuser TO new_master;

注意:请将 new_master 替换为您的用户名。

新用户现在已拥有与主用户相同的权限。


这篇文章对您有帮助吗?


您是否需要账单或技术支持?