在postgres中,如何将现有用户更改为超级用户?由于各种原因,我不想删除现有用户。

# alter user myuser ...?

当前回答

$ su - postgres psql美元 杜\美元;查看db上的用户 选择要成为超级用户的用户,然后: $ ALTER USER“USER”

其他回答

$ su - postgres psql美元 杜\美元;查看db上的用户 选择要成为超级用户的用户,然后: $ ALTER USER“USER”

执行此命令

alter user myuser with superuser;

如果您想查看某个用户的权限,请执行以下命令

\du

扩展以上内容并快速参考:

创建一个超级用户:ALTER user username WITH SuperUser ALTER user username WITH NOSUPERUSER 只允许用户创建数据库:ALTER user username CREATEDB;

您还可以使用CREATEROLE和CREATEUSER来允许用户权限,而不必使其成为超级用户。

文档

对于您的情况,您可以创建一个SUPERUSER或提升USER

$ sudo -u postgres psql -c "ALTER USER myuser WITH SUPERUSER;"

或回滚

$ sudo -u postgres psql -c "ALTER USER myuser WITH NOSUPERUSER;"

若要在设置密码时防止命令被记录,请在其前面插入空白,但请检查系统是否支持此选项。

$  sudo -u postgres psql -c "CREATE USER my_user WITH PASSWORD 'my_pass';"
$  sudo -u postgres psql -c "CREATE USER my_user WITH SUPERUSER PASSWORD 'my_pass';"

如果你达到这个是因为你在使用亚马逊红移,你不能分配SUPERUSER

ALTER USER <username> SUPERUSER;

而是指定CREATEUSER:

ALTER USER <username> CREATEUSER;

显然,SUPERUSER在Amazon红移集群中不是一个可用的用户分配。我完全被搞糊涂了。

https://docs.aws.amazon.com/redshift/latest/dg/r_superusers.html

截图如下:

https://i.stack.imgur.com/uyWXt.png https://i.stack.imgur.com/ycbeL.png