我对 postgres dbms 有一个完全好奇的情况。我已经安装了数据库,由于我的安装脚本配置错误,我将超级用户角色设置为普通用户。现在我有一个完全全新的 postgres 安装,只有模板数据库和一个几乎什么都不做的单个用户“postgres”。我怎样才能让 postgres 用户再次成为超级用户?
我尝试在 ubuntu 12.04 下重新安装服务器,aptitude reinstall postgresql-9.1但角色似乎不受影响。很可能是因为重新安装不会影响记录角色的文件。
超级用户权限不在任何配置文件中,它们是pg_catalog.pg_authid数据库表的一部分,在 PostgreSQL 安装中的所有数据库之间共享。
您需要停止 PostgreSQL 服务器,然后以单用户模式重新启动它,它始终以超级用户身份运行。
在那里,您可以ALTER USER myuser SUPERUSER授予超级用户权限。退出单用户模式,并启动服务器备份。
确切的细节与发行版和版本有关,但类似于:
service postgresql stop
sudo -u postgres postgres --single /var/lib/pgsql/9.1/main/data
ALTER USER postgres SUPERUSER;
(control-D to exit)
service postgresql start
Run Code Online (Sandbox Code Playgroud)
在某些系统上,您可能需要使用postgres可执行文件的显式路径,例如/usr/pgsql-9.1/bin/postgres. 同样,路径可能因版本和发行版而异。
| 归档时间: |
|
| 查看次数: |
4715 次 |
| 最近记录: |