我有一个连接到RDS实例(Postgresql)的AWS EC2实例。创建RDS实例时,我告诉它数据库根目录的用户名是:my_user1
,密码是password1
。现在,我试图创建一个角色和一个超级用户。但是失败了:
$ 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
$
当我重复不带-s
标志的命令时,它会起作用:
$ 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;
$
很明显,my_user1
没有创建超级用户的权限。但是,我告诉RDS的用户是我的管理员用户!如果my_user1
没有创建超级用户的权限,谁做?以及如何从AWS获取用户名/密码?
pg_hba.conf是否表示身份验证方案与本地用户是对等的?
—
drookie 2015年
Drookie,这个文件在RDS实例本身上吗?我什至还没有SSH到那台机器上。
—
萨奇布·阿里2015年
@SaqibAli您无法通过SSH进入RDS实例。
—
ceejayoz