在postgres中,我如何将一个现有用户更改为超级用户?出于各种原因,我不想删除现有用户。
# alter user myuser ...?
kse8i1jr1#
ALTER USER myuser WITH SUPERUSER;
您可以在Documentation for ALTER USER上了解更多信息
zengzsys2#
要详细说明上述内容并快速参考:
ALTER USER username WITH NOSUPERUSER;
ALTER USER username CREATEDB;
您还可以使用CREATEROLE和CREATEUSER授予用户权限,而不使其成为超级用户。Documentation
CREATEROLE
CREATEUSER
pxy2qtax3#
一个月一次百万美元$\du;用于查看数据库上的用户选择希望成为超级用户的用户,然后:美元ALTER USER "user" with superuser;
\du;
ALTER USER "user" with superuser;
waxmsbnn4#
有时候升级到超级用户可能不是一个好的选择。所以除了超级用户还有很多其他的选择你可以使用。打开你的终端并输入以下内容:
$ sudo su - postgres [sudo] password for user: (type your password here) $ psql postgres@user:~$ psql psql (10.5 (Ubuntu 10.5-1.pgdg18.04+1)) Type "help" for help. postgres=# ALTER USER my_user WITH option
同时列出选项列表
SUPERUSER | NOSUPERUSER | CREATEDB | NOCREATEDB | CREATEROLE | NOCREATEROLE | CREATEUSER | NOCREATEUSER | INHERIT | NOINHERIT | LOGIN | NOLOGIN | REPLICATION| NOREPLICATION | BYPASSRLS | NOBYPASSRLS | CONNECTION LIMIT connlimit | [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password' | VALID UNTIL 'timestamp'
在命令行中,它看起来像
postgres=# ALTER USER my_user WITH LOGIN
或者使用加密密码。
postgres=# ALTER USER my_user WITH ENCRYPTED PASSWORD '5d41402abc4b2a76b9719d911017c592';
或在特定时间后撤销权限。
postgres=# ALTER USER my_user WITH VALID UNTIL '2019-12-29 19:09:00';
beq87vna5#
运行此命令
alter user myuser with superuser;
如果要查看某个用户的权限,请运行以下命令
\du
hi3rlvi26#
你可以创建一个SUPERUSER或提升USER,所以对于你的情况
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';"
nc1teljy7#
alter user username superuser;
3df52oht8#
如果您是因为使用Amazon Redshift而到达此处,则不能分配SUPERUSER
ALTER USER <username> SUPERUSER;
而是指定CREATEUSER:
ALTER USER <username> CREATEUSER;
显然,SUPERUSER在Amazon Redshift集群中并不是一个可用的用户赋值,这让我非常困惑。https://docs.aws.amazon.com/redshift/latest/dg/r_superusers.html屏幕截图显示:
8条答案
按热度按时间kse8i1jr1#
您可以在Documentation for ALTER USER上了解更多信息
zengzsys2#
要详细说明上述内容并快速参考:
ALTER USER username WITH NOSUPERUSER;
ALTER USER username WITH NOSUPERUSER;
个ALTER USER username CREATEDB;
您还可以使用
CREATEROLE
和CREATEUSER
授予用户权限,而不使其成为超级用户。Documentation
pxy2qtax3#
一个月一次
百万美元
$
\du;
用于查看数据库上的用户选择希望成为超级用户的用户,然后:
美元
ALTER USER "user" with superuser;
waxmsbnn4#
有时候升级到超级用户可能不是一个好的选择。所以除了超级用户还有很多其他的选择你可以使用。打开你的终端并输入以下内容:
同时列出选项列表
在命令行中,它看起来像
或者使用加密密码。
或在特定时间后撤销权限。
beq87vna5#
运行此命令
如果要查看某个用户的权限,请运行以下命令
hi3rlvi26#
你可以创建一个
SUPERUSER
或提升USER
,所以对于你的情况或回滚
nc1teljy7#
3df52oht8#
如果您是因为使用Amazon Redshift而到达此处,则不能分配
SUPERUSER
而是指定
CREATEUSER
:显然,
SUPERUSER
在Amazon Redshift集群中并不是一个可用的用户赋值,这让我非常困惑。https://docs.aws.amazon.com/redshift/latest/dg/r_superusers.html
屏幕截图显示: