hob*_*es3 10 postgresql gentoo
我目前使用登录PostgreSQL psql -U postgres
.如何将postgres
用户重命名为root
?
如果我已经登录,postgres
那么尝试ALTER USER postgres RENAME TO root
会说ERROR: session user cannot be renamed
.
是否可以重命名用户而无需以postgres
用户身份登录?我不认为我有任何其他超级用户,因为这是一个全新的PostgreSQL安装.
顺便说一下,我在Amazon EC2上运行Gentoo.
Joa*_*son 15
您应该能够通过以postgres用户身份登录并在(在shell中)键入来创建一个名为root的新postgres超级用户;
createuser --superuser root
psql> create database root owner root
Run Code Online (Sandbox Code Playgroud)
之后,当以root用户身份登录时,您应该可以使用postgres用户执行所需操作.
你可以试试
update pg_authid set rolname ='root' where rolname = 'postgres';
Run Code Online (Sandbox Code Playgroud)
但请注意,手动咀嚼系统目录总是有点危险。
为了将当前用户重命名oldname
为newname
,首先登录oldname
并创建一个临时超级用户,如下所示:
CREATE ROLE temp LOGIN SUPERUSER PASSWORD 'mytemporarypassword';
Run Code Online (Sandbox Code Playgroud)
注销,然后使用temp
超级用户登录并重命名该oldname
用户。您必须同时重置该用户的密码,因为 PostgreSQL 会告诉您:“由于角色重命名,MD5 密码已清除”。
ALTER ROLE oldname RENAME TO newname;
ALTER USER newname WITH PASSWORD 'My-Mega-5ecure-P4ssw0rd';
Run Code Online (Sandbox Code Playgroud)
现在使用该用户登录newname
并删除我们之前创建的临时用户:
DROP ROLE temp;
Run Code Online (Sandbox Code Playgroud)
关于什么:
ALTER ROLE postgres RENAME TO root;
Run Code Online (Sandbox Code Playgroud)
使用不同的超级用户角色?
归档时间: |
|
查看次数: |
15069 次 |
最近记录: |