如何创建用户并使之具有与运行 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_master 和 password 替换为您的用户名和密码。
2. 向您创建的角色授予 rds_superuser 权限:
postgres=> GRANT rds_superuser TO new_master;
注意:请将 new_master 替换为您的用户名。
新用户现在已拥有与主用户相同的权限。