J'ai une instance AWS EC2 connectée à une instance RDS (Postgresql). Quand j'ai créé l'instance RDS, je lui ai dit que le nom d'utilisateur de la racine DB était: my_user1
et le mot de passe password1
. Maintenant, j'essaie de créer un rôle et un super-utilisateur. Mais cela échoue:
$ createuser -P -d -s -e my_user2 --host myhost.com -U my_user1
Enter password for new role: XXXYYYZZZ
Enter it again: XXXYYYZZZ
Password: password1
CREATE ROLE my_user2 PASSWORD 'md5999999c0101a1d64afd57575e06f999c' SUPERUSER CREATEDB CREATEROLE INHERIT LOGIN;
createuser: creation of new role failed: ERROR: must be superuser to create superusers
$
Lorsque je répète la commande sans le -s
drapeau, cela fonctionne:
$ createuser -P -d -e my_user2 --host myhost.com -U my_user1
Enter password for new role:
Enter it again:
Password:
CREATE ROLE my_user2 PASSWORD 'md5999999c0101a1d64afd57575e06f888c' NOSUPERUSER CREATEDB NOCREATEROLE INHERIT LOGIN;
$
Donc, clairement, my_user1
n'a pas les autorisations pour créer un super-utilisateur. Mais c'est l'utilisateur à qui j'ai dit que RDS était mon utilisateur administrateur! Si my_user1
n'a pas les autorisations pour créer un super-utilisateur, qui en a? Et comment puis-je obtenir leur nom d'utilisateur / mot de passe auprès d'AWS?