PostgreSQL を実行している Amazon RDS または Aurora DB インスタンスのマスターユーザーと同じ特権を持つ別のユーザーを作成するにはどうすればよいですか?

最終更新日: 2022 年 5 月 27 日

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

解決方法

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

注: PostgreSQL は、パスワードをクリアテキストでログファイルに記録します。これを防ぐには、「Amazon RDS for PostgreSQL がパスワードをクリアテキストでログファイルにログ記録しないようにするにはどうすればよいですか?」を参照してください。

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

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