Tôi có một phiên bản AWS EC2 kết nối với một phiên bản RDS (Postgresql). Khi tôi tạo cá thể RDS, tôi đã nói với nó tên người dùng của DB là: my_user1
và mật khẩu là password1
. Bây giờ tôi đang cố gắng tạo ra một vai trò và một siêu người dùng. Nhưng nó thất bại:
$ 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
$
Khi tôi lặp lại lệnh mà không có -s
cờ, nó hoạt động:
$ 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;
$
Vì vậy, rõ ràng, my_user1
không có quyền để tạo một siêu người dùng. Nhưng đây là người dùng tôi đã nói với RDS là người dùng quản trị của tôi! Nếu my_user1
không có quyền tạo siêu người dùng, ai sẽ làm? Và làm cách nào để có được tên người dùng / mật khẩu của họ từ AWS?