我需要恢复postgres
用户的超级用户特权,因为它失去了超级用户资格。
我无法在psql
shell中做任何事情,它给出了消息
must be superuser to create superusers
系统为Ubuntu 16.04和PostgreSQL 9.5。
我可以恢复此postgres
用户吗?
答案 0 :(得分:0)
如果您设法从所有用户中删除超级用户特权,则必须以单用户模式启动数据库:
以操作系统用户postgres
的身份停止数据库服务器:
/path/to/postgresql/bin/pg_ctl stop -D /path/to/data/directory
以单用户模式启动服务器:
/path/to/postgresql/bin/postgres --single -D /path/to/data/directory postgres
现在您是超级用户。
恢复超级用户特权:
ALTER ROLE postgres SUPERUSER
使用 CTRL + D (如果您是 CTRL + Z ,则退出会话在Windows上)。
以通常的方式重启PostgreSQL。