Ich habe eine AWS EC2-Instanz, die eine Verbindung zu einer RDS-Instanz (Postgresql) herstellt. Als ich die RDS-Instanz erstellte, teilte ich ihr mit, dass der Benutzername des Datenbankstamms: my_user1
und das Kennwort : lauten password1
. Jetzt versuche ich, eine Rolle und einen Superuser zu erstellen. Aber es schlägt fehl:
$ 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
$
Wenn ich den Befehl ohne -s
Flag wiederhole , funktioniert es:
$ 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;
$
Also klar, my_user1
hat keine Berechtigungen, um einen Super-User zu erstellen. Aber dies ist der Benutzer, dem ich gesagt habe, dass RDS mein Administrator ist! Wer my_user1
hat keine Berechtigung zum Erstellen eines Super-Users? Und wie erhalte ich ihren Benutzernamen / ihr Passwort von AWS?