在PostgreSQL中恢复postgres用户

在PostgreSQL中恢复postgres用户,postgresql,superuser,Postgresql,Superuser,我需要恢复postgres用户的超级用户权限,因为它失去了超级用户资格 我无法在psqlshell中执行任何操作,它给出了消息 must be superuser to create superusers 系统是Ubuntu 16.04和PostgreSQL 9.5。 我可以恢复此postgres用户吗?如果您设法从所有用户中删除超级用户权限,则必须以单用户模式启动数据库: 以操作系统用户身份停止数据库服务器postgres: /path/to/postgresql/bin/pg\u ctl

我需要恢复
postgres
用户的超级用户权限,因为它失去了超级用户资格

我无法在
psql
shell中执行任何操作,它给出了消息

must be superuser to create superusers
系统是Ubuntu 16.04和PostgreSQL 9.5。

我可以恢复此
postgres
用户吗?

如果您设法从所有用户中删除超级用户权限,则必须以单用户模式启动数据库:

  • 以操作系统用户身份停止数据库服务器
    postgres

    /path/to/postgresql/bin/pg\u 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(如果您在Windows上,则使用CTRL+Z)退出会话

  • 按正常方式重新启动PostgreSQL


  • 谢谢LaurenzAlbe@FernandoMiranda如果该答案解决了您的问题,那么请将其删除,以便将您的问题标记为已解决