PostgreSQL を実行している Amazon RDS または Aurora DB インスタンスのマスターユーザーと同じ特権を持つ別のユーザーを作成する方法を教えてください。

最終更新日: 2020 年 3 月 3 日

PostgreSQL を実行している Amazon Relational Database Service (Amazon RDS) または Amazon Aurora DB インスタンスがあります。別のユーザーに DB インスタンスのマスターユーザーと同じアクセス許可を付与したいと考えています。マスターユーザーを複製またはクローンするにはどうすればよいですか?

解決方法

PostgreSQL を実行する DB インスタンスには、インスタンスの作成時に作成されるマスターユーザーは 1 人だけです。ただし、マスターユーザーと同じアクセス許可を持つ別のユーザーを作成することができます。

重要: rds_superuser ロールには、RDS DB インスタンスに対する最も多くの特権があります。RDS DB インスタンスへのアクセスがどうしても必要な場合を除き、このロールをユーザーに割り当てないでください。

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 をユーザー名に置き換えます。

これで、新しいユーザーにマスターユーザーと同じアクセス許可が付与されます。