无意中删除了postgres默认的超级用户权限 - 我可以取回它吗?

Dac*_*d3r 1 postgresql privileges disaster-recovery

从Webmin内部我意外地取消选中"可以创建数据库?"复选框.和"可以创建用户吗?"

愚蠢,我知道.

但是,由于用户具有超级用户权限来编辑/创建用户,有没有办法从linux终端修复此问题?

我知道可以重置密码,但我无法找到如何重置默认超级用户postgres的角色/权限.这是可能的还是我必须重新安装?

Jas*_*sen 13

有一个单用户模式,你总是有超级用户功能:

作为根

service postgresql stop
Run Code Online (Sandbox Code Playgroud)

作为用户postgres :(你可能需要更改版本号(这里是9.1)非.deb发行版也可能在这里有不同的路径.第一个路径是postgres二进制文件,第二个路径是包含postgresql.conf的目录.

/usr/lib/postgresql/9.1/bin/postgres --single -D /etc/postgresql/9.1/main/

在新的命令行上

alter user postgres with superuser;
Run Code Online (Sandbox Code Playgroud)

ctrl-d退出.

以root身份:

service postgresql start
Run Code Online (Sandbox Code Playgroud)

类似的策略可用于设置或重置密码等.